package lianxi;
//JAVA Project : day10(code *22 #index 701) __Rick 2017/3/15 22:49
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.channels.NetworkChannel;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
import javax.swing.text.StyledEditorKit.BoldAction;
import org.omg.CORBA.INTERNAL;
import org.omg.CORBA.PUBLIC_MEMBER;
import org.omg.CosNaming.NamingContextExtPackage.AddressHelper;
public class String123 {
public static void main(String[] args) throws IOException {
// =====================================================================
// 1.HelloWorld案例
// 2.定义8种变量
// System.out.println("hello world");
// int a =1;
// byte b = 2;
// short c = 3;
// long d = 4;
// double e = 3;
// float f = 6;
// char d1 = 'a';
// boolean h = false;
// =====================================================================
// 1.三元运算符求两个数的最大值
// int a = 10;
// int b = 20;
// int c =(a>b)? a:b;
// System.out.println(c);
// #######################################################################
// 2.三元运算符求三个数的最大值
// int a = 40;
// int b = 20;
// int c = 30;
// int d = (a>b)?a:b;
// int e = (c>d)?c:d;
// System.out.println(e);
// #######################################################################
// 3.键盘录入练习之两个数据求和
// Scanner sc = new Scanner(System.in);
// System.out.println("请输入第一个值");
// int a = sc.nextInt();
// System.out.println("请输入第二个值");
// int b = sc.nextInt();
// int c = (a>b)?a:b;
// System.out.println("您输入的两个值:"+a+","+b+"其中最大的是:"+c);
// #######################################################################
// 4.键盘录入练习之获取三个数据的最大值
// Scanner sc = new Scanner(System.in);
// System.out.println("请输入第一个值");
// int a = sc.nextInt();
// System.out.println("请输入第二个值");
// int b = sc.nextInt();
// System.out.println("请输入第二个值");
// int c = sc.nextInt();
// int d = (a > b) ? a : b;
// int e = (c > d) ? c : d;
// System.out.println("您输入的三个值:" + a + "," + b + "," + c + "其中最大的是:" +
// c);
// =====================================================================
// 1.if语句求两个数的最大值
// int a = 12;
// int b = 22;
// if (a>b) {
// System.out.println(a);
// }else {
// System.out.println(b);
// }
// #######################################################################
// * 2.if语句判断分数对应的级别。90以上是优秀,80-90是良好,60-80是及格,60以下是差。
// int fen = 80;
// if (fen>100||fen<0) {
// System.out.println("您的分数不正确!");
// }else if(fen>=90&&fen<100){
// System.out.println("学习成绩属于优秀");
// }else if(fen>=80&&fen<90){
// System.out.println("学习成绩属于良好");
// }else if (fen>=60&&fen<80) {
// System.out.println("学习成绩属于刚及格");
// }else {
// System.out.println("学渣!");
// }
// #######################################################################
// * 3.switch语句输出月份对应的季节。
// int a = 1;
// switch (a) {
// case 1:
// case 2:
// case 12:
// System.out.println("冬季");
// break;
// case 3:
// case 4:
// case 5:
// System.out.println("春季");
// break;
// case 6:
// case 7:
// case 8:
// System.out.println("夏季");
// break;
// case 9:
// case 10:
// case 11:
// System.out.println("秋季");
// break;
// default:
// System.out.println("输入的月份有误");
// break;
// }
// #######################################################################
// 4.for循环输出1-5
// for (int i = 1; i < 6; i++) {
// System.out.println(i);
// }
// #######################################################################
// 5.for循环输出5-1
// for (int i = 5; i >0; i--) {
// System.out.println(i);
// }
// #######################################################################
// 6.for循环求1-100之间的和
// int sum=0;
// for (int i = 1; i <=100; i++) {
// sum+=i;
// }
// System.out.println("1-100之间的和:"+sum);
// #######################################################################
// * 7.求1-100之间的奇数和
// int sum =0;
// for (int i = 1; i <= 100; i++) {
// if (i%2!=0) {
// sum+=i;
// }
// }
// System.out.println("1-100之间的奇数和"+sum);
// #######################################################################
// * 8.打印水仙花数
// for (int i = 100; i < 1000; i++) {
// int ge = i % 10;
// int shi = i / 10 % 10;
// int bai = i / 10 / 10 % 10;
// if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
// System.out.println(i);
// }
// }
// #######################################################################
// 9.统计水仙花数的个数
// int count = 0;
// for (int i = 100; i < 1000; i++) {
// int ge = i%10;
// int shi = i/10%10;
// int bai = i/10/10%10;
// if (ge*ge*ge+shi*shi*shi+bai*bai*bai==i) {
// count++;
// }
// }
// System.out.println("水仙花数:"+count);
// #######################################################################
// * 10.珠穆朗玛峰案例
// *珠穆朗玛峰高度为8848米,有一张足够大的纸,厚度为0.0001米。
// *请问,我折叠多少次,可以折成珠穆朗玛峰的高度
// int count=0;
// for (double i = 0.0001; i <=8848 ; i*=2) {
// count++;
// }
// System.out.println(count+"次");
// #######################################################################
// 1.猜数字小游戏。
// Scanner sc = new Scanner(System.in);
// Random abc = new Random();
// int Sj = abc.nextInt(101);
// System.out.println(Sj);
// for (;;) {
// System.out.println("请输入一个要猜的数,输入[1000]退出游戏");
// int a = sc.nextInt();
// if (a==1000) {
// System.exit(1);
// }else if (a>Sj) {
// System.out.println("您猜的数字有些大了");
// }else if (a<Sj) {
// System.out.println("您猜的数字有些小了");
// }else {
// System.out.println("恭喜您猜对了!");
// System.exit(1);
// }
//
// }
// #######################################################################
// 2.遍历数组
// int[] arr = new int [2000];
// for (int i = 0; i < arr.length; i++) {
// System.out.println(arr[i]);
// }
// #######################################################################
// 3.求数组的最大值(最小值)
// int[] arr={100,200,300,20,199,200,300,999,1,0,9999};
// int x=arr[0];
// for (int i = 0; i < arr.length; i++) {
// if (arr[i]>x) {
// x=arr[i];
// }
// }
// System.out.println("最大值:"+x);
// 4.遍历二维数组
// int[][] arr=new int[10][100];
// for (int i = 0; i < arr.length; i++) {
// for (int j = 0; j < arr[i].length; j++) {
// System.out.println(arr[i][j]);
// }
// }
// =====================================================================
// 1.方法编写和调用-求两个数的和
// int a=sum(10, 20);
// System.out.println(a);
//
// public static int sum (int a ,int b){
// a+=b;
// return a;
// }
// #######################################################################
// 2.方法编写和调用-求两个数中的最大值
// int c= sum(100, 200);
// System.out.println(c);
// public static int sum(int a, int b) {
// int c = (a > b) ? a : b;
// return c;
// }
// #######################################################################
// 3.方法编写和调用-求两个数是否相等
// System.out.println(ab(10, 10));
// public static boolean ab(int a,int b ) {
// if (a==b) {
// return true;
// }else {
// return false;
// }
// }
// #######################################################################
// * 4.方法编写和调用-打印所有的水仙花数
// count();
// public static void count() {
// for (int i = 100; i < 1000; i++) {
// int ge = i % 10;
// int shi = i / 10 % 10;
// int bai = i / 10 / 10 % 10;
// if (ge*ge*ge+shi*shi*shi+bai*bai*bai==i) {
// System.out.println(i);
// }
//
// }
//
// }
// #######################################################################
// 5.方法编写和调用-打印1-n
// sum(100);
// public static void sum(int a){
// for (int i = 1; i <= a; i++) {
// System.out.println(i);
// }
// }
// #######################################################################
// * 6.方法编写和调用-数组遍历
// int[] arr = new int[100];
// arr(arr);
// public static void arr(int[] a){
// for (int i = 0; i < a.length; i++) {
// System.out.println(a[i]);
// }
// }
// #######################################################################
// * 7.方法编写和调用-数组求最大值
// int[] arr ={100,2,222,333};
// int max=abc(arr);
// System.out.println(max);
//
// public static int abc(int[] a){
// int max=a[0];
// for (int i = 0; i < a.length; i++) {
// if (a[i]>max) {
// max=a[i];
// }
// }
// return max;
// }
// #######################################################################
// 8.方法编写和调用-求数组的和
// int[] arr ={100,2,222,333};
// System.out.println(aaa(arr));
//
// public static int aaa(int[] arr){
// int sum=0;
// for (int i = 0; i < arr.length; i++) {
// sum+=arr[i];
// }
// return sum;
// }
// =====================================================================
// 1.打印回文数字 12321
// for (int i = 10000; i < 100000; i++) {
// int ge = i % 10;
// int shi = i / 10 % 10;
// int bai = i / 10 / 10 % 10;
// int qian = i / 10 / 10 / 10 % 10;
// int wan = i / 10 / 10 / 10 / 10 % 10;
// if (wan==ge&&shi==qian) {
// System.out.println(i);
// }
// }
// #######################################################################
// * 2.不死神兔问题
//
// /*
// * 需求:
// * 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
// * 假如兔子都不死,问第二十个月的兔子对数为多少?
// *
// * 规律:
// * 第一个月:1
// * 第二个月:1
// * 第三个月:2
// * 第四个月:3
// * 第五个月:5
// * ...
// *
// * 规律:从第三个月开始,每个月的兔子对数是前两个月的兔子对数之和。
// * 第一个月和第二个月的兔子对数是1
// * 分析:
// * int[] arr = new int[20];
// *
// * arr[0] = 1;
// * arr[1] = 1;
// *
// * arr[2] = arr[0] + arr[1];
// * arr[3] = arr[1] + arr[2];
// * arr[4] = arr[2] + arr[3];
// * ...
// */
// int[] tu =new int[20];
// tu[0]=1;
// tu[1]=1;
// tu[2]=2;
// int a=0;
// for (int i = 2; i < tu.length; i++) {
// tu[i]=tu[i-2]+tu[i-1];
// a=tu[19];
// }
// System.out.println("第二十个月,兔子的数量是"+a);
// #######################################################################
// 3.求满足要求的数组元素的和。如数组中的奇数的和。
// int[] a={123,111,222,333,444,555,5666,721};
// int sum = 0;
// for (int i = 0; i < a.length; i++) {
// if (a[i]%2!=0) {
// sum += a[i];
// }
// }
// System.out.println(sum);
// * 4.评委打分。
// /*
// * 需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
// * 选手的最后得分为:去掉一个最高分和一个最低分后 其余4个选手的平均值。
// * 请写代码实现。(不考虑小数部分)
// *
// * 分析:
// * A:定义一个长度为6的数组。
// * B:通过键盘录入的方式给出评委的分数
// * C:写方法实现获取数组中的最大值,最小值
// * D:写方法实现数组元素的求和
// * E:平均分: (和-最高分-最低分)/(arr.length-2)
// * F:输出分数即可
// */
// Scanner sc =new Scanner(System.in);
// // * A:定义一个长度为6的数组。
// int[] fen=new int[5];
// for (int i = 0; i < fen.length; i++) {
// // * B:通过键盘录入的方式给出评委的分数
// System.out.println("请为第"+(i+1)+"位选手打分!");
// int dafen = sc.nextInt();
// fen[i]=dafen;
// }
// System.out.println("评分中: 最大值:"+max(fen)+"最小值:"+min(fen));
// int ooo = (sum(fen)-max(fen)-min(fen)) /5;
// System.out.println("平均分="+ooo);
//
// //C:写方法实现获取数组中的最大值
// public static int max(int[] arr){
// int a=arr[0];
// for (int i = 0; i < arr.length; i++) {
// if (arr[i]>a) {
// a=arr[i];
// }
// }
// return a;
// }
// //C:写方法实现获取数组中的最小值
// public static int min(int[] arr){
// int a=arr[0];
// for (int i = 0; i < arr.length; i++) {
// if (arr[i]<a) {
// a=arr[i];
// }
// }
// return a;
// }
//
// //D:写方法实现数组元素的求和
// public static int sum(int[] arr){
// int sum = 0;
// for (int i = 0; i < arr.length; i++) {
// sum+=arr[i];
// }
// return sum;
// }
// #######################################################################
// 5.数组元素反转
// int[] a={222,3,2,4,5,6,11};
// for (int i = 0,x=a.length-1; i < x; i++,x--) {
// int temp = a[i];
// a[i]=a[x];
// a[x]=temp;
// }
// =====================================================================
// 1.学生类的定义和调用。//调用成员变量,调用成员方法
// 2.手机类的定义和调用
// //以上为标准类
// Student a =new Student();
// a.setName("小红");
// a.setAge("99");
// a.eat();
// System.out.println(a.name);
// public class Student {
// String name;
// String age;
//
// public Student() {
//
// }
//
// public Student(String name, String age) {
// this.name = name;
// this.age = age;
// }
//
// public String getName() {
// return name;
// }
//
// public void setName(String name) {
// this.name = name;
// }
//
// public String getAge() {
// return age;
// }
//
// public void setAge(String age) {
// this.age = age;
// }
// public void eat(){
// System.out.println("我只吃饭不学习!");
// }
//
// }
// =====================================================================
// * 1.模拟用户登录
// A:定义两个字符串对象,用于存储已经存在的用户名和密码
// * B:键盘录入用户名和密码
// * C:拿键盘录入的用户名和密码和已经存在的用户名和密码进行比较
// * 如果内容相同,提示登录成功
// * 如果内容不同,提示登录失败,并提示还有几次机会
// String zh ="admin";
// String mi ="admin";
// String jp = "admin";//键盘
// String jpm = "admin";
// int a=3;
// for (int i = 0; i < 9999; i++) {
// if (a<=0) {
// System.exit(1);
// }else {
// if (zh.equals(jp)&&mi.equals(jpm)) {
// System.out.println("登入成功");
// i=999999;
// }else {
// a--;
// System.out.println("登入错误!用户名或密码错误,还剩"+(a+1)+"次机会");
//
//
// }
// }
//
// }
// #######################################################################
// 2.字符串遍历
//
// String a ="RICK";
// for (int i = 0; i < a.length(); i++) {
// System.out.println(a.charAt(i));
// }
// #######################################################################
// * 3.字符串反转
// String a = "RICK123";
// for (int i = a.length()-1; i >= 0; i--) {
// System.out.println(a.charAt(i));
// }
// #######################################################################
// * 4.判断是否为对称字符串
// * 判断一个字符串是否是对称字符串
// * 例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
// *
// * 分析:
// * A:键盘录入一个字符串
// * B:写方法实现判断一个字符串是否是对称字符串
// * 把字符串反转,和反转前的字符串进行比较,如果内容相同,就说明是对称字符串
// * C:调用方法
// * D:输出结果
// String jp ="aaaa";
// boolean abc = aaa(jp);
// System.out.println(abc);
// public static boolean aaa (String s){
// StringBuilder sb = new StringBuilder(s);
// sb.reverse();
// String abc = sb.toString();
// return abc.equals(s);
// }
// * 5.把指定字符串转换为首字母大写,其他字母小写。如 name --> Name
// String a="abccc";
// String a1=a.substring(0,1);
// String a2=a.substring(1);
// a1=a1.toUpperCase();
// String abc = a1+a2;
// System.out.println(abc);
// #######################################################################
// * 1.ArrayList存储字符串并遍历
// ArrayList<String> al = new ArrayList<String>();
// al.add("aaa");
// al.add("aa2a");
// al.add("aa3a");
// al.add("a4aa");
// al.add("aa5a");
// al.add("6aaa");
// al.add("a7aa");
// al.add("aaa8");
// for (int i = 0; i < al.size(); i++) {
// System.out.println(al.get(i));
// }
// =====================================================================
// * 2.ArrayList存储自定义对象并遍历
// Student a = new Student();
// ArrayList<Student>al=new ArrayList<Student>();
// a.name = "hh";
// a.age ="uu";
// al.add(a);
// for (int i = 0; i < al.size(); i++) {
// Student abc = al.get(i);
// System.out.println(abc.age+abc.name);
// }
// * 3.学生管理系统
// null
// =====================================================================
// * 1.复制文本的5种方式
// A:利用基本流一次读写一个字符
// B:利用基本流一次读写一个字符数组
// C:利用缓冲流一次读写一个字符
// D:利用缓冲流一次读写一个字符数组
// E:利用缓冲流的特有方法一次读写一个字符串
// * 2.把集合中的数据写到文本文件
// * 3.把文本文件中的数据读取到集合
// A:利用基本流一次读写一个字符
// FileReader a = new
// FileReader("F:\\eclipse\\workspace\\AAAdianzhao\\src\\lianxi\\String123.java");
// FileWriter b = new FileWriter("D:\\yyyw.txt");
// int aa;
// while ((aa = a.read()) != -1) {
// b.write(aa);
//
// }
// a.close();
// b.close();
// ---------------------------------------------------------------------
// B:利用基本流一次读写一个字符数组
// FileReader a = new
// FileReader("F:\\eclipse\\workspace\\AAAdianzhao\\src\\lianxi\\String123.java");
// FileWriter b = new FileWriter("D:\\yyyB.txt");
// char[] ab = new char[1024];
// int aaa;
// while ((aaa = a.read(ab))!=-1) {
// b.write(ab,0,aaa);
//
// }
// a.close();
// b.close();
// ---------------------------------------------------------------------
// C:利用缓冲流一次读写一个字符
// BufferedReader a=new BufferedReader(new
// FileReader("F:\\eclipse\\workspace\\AAAdianzhao\\src\\lianxi\\String123.java"));
// BufferedWriter b=new BufferedWriter(new FileWriter("d:\\aayy.txt"));
// int aaa;
// while ((aaa=a.read())!=-1) {
// b.write(aaa);
//
// }
// a.close();
// b.close();
// ---------------------------------------------------------------------
// D:利用缓冲流一次读写一个字符数组
// BufferedReader a=new BufferedReader(new
// FileReader("F:\\eclipse\\workspace\\AAAdianzhao\\src\\lianxi\\String123.java"));
// BufferedWriter b=new BufferedWriter(new FileWriter("d:\\kkk.java"));
// int acc;
// char[] chs = new char[2048];
// while ((acc=a.read(chs))!=-1) {
// b.write(chs,0,acc);
//
// }
// a.close();
// b.close();
// ---------------------------------------------------------------------
// E:利用缓冲流的特有方法一次读写一个字符串
// //BufferedReader a=new BufferedReader(new
// FileReader("F:\\eclipse\\workspace\\AAAdianzhao\\src\\lianxi\\String123.java"));
// //BufferedWriter b=new BufferedWriter(new
// FileWriter("D:\\III.JAVA"));
// String yuan =
// "F:\\eclipse\\workspace\\AAAdianzhao\\src\\lianxi\\String123.java";
// String mu = "D:\\III.JAVA";
// copy(yuan, mu);
// public static void copy (String yuan,String mu) throws IOException{
// BufferedReader a=new BufferedReader(new FileReader(yuan));
// BufferedWriter b=new BufferedWriter(new FileWriter(mu));
// String ccc;
// while ((ccc=a.readLine())!=null) {
// b.write(ccc);
// b.newLine();
//
// }
// a.close();
// b.close();
//
// }
// #######################################################################
//把ArrayList集合中的字符串数据存储到文本文件
// * 每一个字符串元素作为文件中的一行数据
// *
// * 分析:
// * A:创建集合对象
// * B:往集合中添加字符串元素
// * C:创建输出缓冲流对象
// * D:遍历集合,得到每一个字符串元素,然后把该字符串元素作为数据写到文本文件
// * E:释放资源
// ArrayList<String>al=new ArrayList<String>();
// al.add("啊啊啊啊");
// al.add("哈哈哈");
// BufferedWriter b = new BufferedWriter(new
// FileWriter("D:\\UUII.JAVA"));
// for (int i = 0; i < al.size(); i++) {
// String abc = al.get(i);
// b.write(abc);
// b.newLine();
// }
// b.close();
//
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//结尾用字符串缓冲流Copy至D盘根目录
BufferedReader a =new BufferedReader(new FileReader("F:\\eclipse\\workspace\\AAAdianzhao\\src\\lianxi\\String123.java"));
BufferedWriter b =new BufferedWriter(new FileWriter("D:\\RICK-2017.03.15.JAVA"));
String copy;
while ((copy=a.readLine())!=null) {
b.write(copy);
b.newLine();
}
a.close();
b.close();
System.exit(1024);
}
}
[基础巩固]一些练习题,和自己做出的源码
- admin
- 0