前言:
第一次题目较多,难度较简单,题目由简到难,但是有些题目信息不准确,例如作业一7-1中BMI大于等于24小于28 :输出“overweight”。BMII大于等于28 :输出“fat”。但实际上实验中发现
1 if(BIM<18.5) 2 3 System.out.println("thin"); 4 5 else if(BIM>=18.5&&BIM<=24) 6 7 System.out.println("fit"); 8 9 else if(BIM>24&&BIM<=28) 10 11 System.out.println("overweight"); 12 13 else if(BIM>28) 14 15 System.out.println("fat");
BMI大于等于24等于28 :输出“overweight”。BMII大于28 :输出“fat”pta才会给满分。作业二与作业三题目虽只有三题,但是题目都是由简到难,并且后一题是前一题的升级版,作业三难度最大。作业一多考察的是简单语法问题,作业二是考察字符串知识点,作业三考察的一些思路和更复杂的语法关系
设计与分析:
题目集2 7-2
1 import java.util.Scanner; 2 public class Main{ 3 public static void main(String args[]){ 4 int mark=1,num=0; 5 Scanner sc=new Scanner(System.in); 6 String a=sc.nextLine(); 7 if(a.length()<11||a.indexOf('0')==-1) 8 System.out.println("null data"); 9 else{ 10 for(int i=0;i<a.length();i++){ 11 if(a.charAt(i)=='0'){ 12 int j=i; 13 while(j<i+10&&j<a.length()){ 14 if(a.charAt(j)=='1') 15 num++; 16 j++; 17 } 18 if(a.charAt(i+10)!='1'&&num%2!=1){ 19 System.out.printf("%d:",mark++); 20 System.out.println("validate error"); 21 } 22 else if(a.charAt(i+10)!='1'){ 23 System.out.printf("%d:",mark++); 24 System.out.println("validate error"); 25 } 26 else if(num%2!=1){ 27 System.out.printf("%d:",mark++); 28 System.out.println("parity check error"); 29 } 30 else{ 31 System.out.printf("%d:",mark++); 32 System.out.println(a.substring(i+1, i+9)); 33 } 34 i=i+10; 35 num=0; 36 } 37 } 38 } 39 } 40 }
源码分析:先输入一串数字,用String接收判断是否长度小于11或者没有-1,如果是则输出null data,否则因为0是起始位,先循环处理1,当接收到第一个0时处理数据,先进行奇校验,统计1的个数,然后进行结束符的确定,如果不符合则输出validate error 否则进入下一判断符合所有的则输出字符串信息。然后让i加10因为10个字符串同时进行处理。
题目集3 7-1
源码
1 import java.util.Scanner; 2 public class Main { 3 public static void main(String args[]){ 4 Scanner sc=new Scanner(System.in); 5 Double a,b,c,d; 6 int e=0,dou=0; 7 boolean mark=false,keybo=true; 8 String ch; 9 ch=sc.nextLine(); 10 String [] point=ch.split("\\s+|,"); 11 String [] num=ch.split("\\s"); 12 check text=new check(ch); 13 for(int i=0;i<ch.length();i++){ 14 if(ch.charAt(i)==' ') 15 e++; 16 if(ch.charAt(i)==',') 17 dou++; 18 } 19 if(e<1||dou!=num.length) 20 keybo=false; 21 else 22 mark=text.ch(); 23 if(!mark||!keybo) 24 System.out.println("Wrong Format"); 25 else if(point.length!=4) 26 System.out.println("wrong number of points"); 27 else{ 28 String [] ch1=ch.split("\\s"); //以空格分隔数字 29 String [] point1=ch1[0].split(","); 30 String [] point2=ch1[1].split(","); 31 a=Double.parseDouble(point1[0]); 32 b=Double.parseDouble(point1[1]); 33 c=Double.parseDouble(point2[0]); 34 d=Double.parseDouble(point2[1]); 35 if(Math.sqrt((a-c)*(a-c)+(b-d)*(b-d))==0) 36 System.out.println(0); 37 else 38 System.out.println(Math.sqrt((a-c)*(a-c)+(b-d)*(b-d))); 39 } 40 } 41 } 42 class check{ 43 public String ch; 44 check(String ch){ 45 this.ch=ch; 46 } 47 public boolean ch(){ 48 String [] point=ch.split("\\s+|,"); 49 boolean mark=true; 50 int num=0; 51 for(int i=0;i<point.length;i++){//检查格式是否合法 52 for(int j=0;j<point[i].length();j++){ 53 if(point[i].charAt(j)=='.'){ 54 if(j==0) 55 mark= false; 56 } 57 else if(point[i].charAt(j)=='+'||point[i].charAt(j)=='-'){ 58 if(j!=0) 59 mark= false; 60 } 61 } 62 } 63 for(int i=0;i<ch.length();i++){ 64 if(ch.charAt(i)=='0'&&i!=ch.length()-1){ 65 if((ch.charAt(i+1)<'9'&&ch.charAt(i+1)>='0'))//&&ch.charAt(i+1)!='.') 66 mark=false; 67 } 68 if(ch.charAt(i)=='.'){ 69 if(i==ch.length()-1) 70 mark=false; 71 if(ch.charAt(i+1)==' ') 72 mark=false; 73 } 74 } 75 return mark; 76 } 77 }
源码分析:
输入一串字符串,因为后面需要格式判断是否输入是否非法,于是我创建了一个类,这个类中写了方法确定是否格式非法,如果非法则方法会返回false,先将字符传到类中,然后以空格和“,”分割字符串要确定点(“.”)后面有数字并且第一个不是点,并且如果有正负号,则需要判断是否只含有一个正负号,并且在首位上,如果不符合则返回false,然后还需要判断逗号的个数不符合则输出"Wrong Format",因为第一题只需要输入俩个点坐标,如果不符合则输出"wrong number of points"如果格式正确并且个数都正确则计算出俩点距离并且输出距离。
题目集3 7-2
源码:
1 import java.util.Scanner; 2 public class Main{ 3 public static void main(String args[]){ 4 Scanner sc=new Scanner(System.in); 5 String ch=sc.nextLine(); 6 check text=new check(ch); 7 boolean mark=text.che(); 8 if(ch.charAt(0)>'5'||ch.charAt(0)<'1') 9 mark=false; 10 if(!mark) 11 System.out.println("Wrong Format"); 12 else{ 13 String [] point=ch.split("\\s+|:|,"); 14 int num=Integer.parseInt(point[0]); 15 if(num==1){ 16 double x1,x2,y1,y2; 17 x1=Double.parseDouble(point[1]); 18 x2 =Double.parseDouble(point[3]); 19 y1=Double.parseDouble(point[2]); 20 y2=Double.parseDouble(point[4]); 21 if((point.length-1)/2!=2){ 22 System.out.println("wrong number of points"); 23 }else if(point[1].equals(point[3])&&point[2].equals(point[4])){ 24 System.out.println("points coincide"); 25 }else if(point[1].equals(point[3])) 26 System.out.println("Slope does not exist"); 27 else 28 System.out.println((y2-y1)/(x2-x1)); 29 } 30 else if(num==2){ 31 if((point.length-1)/2!=3){ 32 System.out.println("wrong number of points"); 33 }else if((point[1].equals(point[3])&&point[2].equals(point[4]))||(point[3].equals(point[5])&&point[4].equals(point[6]))||(point[1].equals(point[5])&&point[2].equals(point[6]))) 34 System.out.println("points coincide"); 35 else{ 36 double x1,x2,x3,y1,y2,y3; 37 x1=Double.parseDouble(point[1]); 38 x2 =Double.parseDouble(point[3]); 39 x3=Double.parseDouble(point[5]); 40 y1=Double.parseDouble(point[2]); 41 y2=Double.parseDouble(point[4]); 42 y3=Double.parseDouble(point[6]); 43 System.out.println(Math.abs(((x2-x3)*y1-(y2-y3)*x1-(x2-x3)*y2+(y2-y3)*x2)/Math.sqrt(Math.pow(x2-x3,2)+Math.pow(y2-y3,2)))); 44 } 45 } 46 else if(num==3){ 47 double x1,x2,x3,y1,y2,y3; 48 x1=Double.parseDouble(point[1]); 49 x2 =Double.parseDouble(point[3]); 50 x3=Double.parseDouble(point[5]); 51 y1=Double.parseDouble(point[2]); 52 y2=Double.parseDouble(point[4]); 53 y3=Double.parseDouble(point[6]); 54 if((point.length-1)/2!=3){ 55 System.out.println("wrong number of points"); 56 }else if((point[1].equals(point[3])&&point[2].equals(point[4]))||(point[3].equals(point[5])&&point[4].equals(point[6]))||(point[1].equals(point[5])&&point[2].equals(point[6]))) 57 System.out.println("points coincide"); 58 else if((y3-y2)/(x3-x2)==(y2-y1)/(x2-x1)) 59 System.out.println(true); 60 else 61 System.out.println(false); 62 } 63 else if(num==4){ 64 double x1,x2,x3,x4,y1,y2,y3,y4; 65 x1=Double.parseDouble(point[1]); 66 x2 =Double.parseDouble(point[3]); 67 x3=Double.parseDouble(point[5]); 68 x4=Double.parseDouble(point[7]); 69 y1=Double.parseDouble(point[2]); 70 y2=Double.parseDouble(point[4]); 71 y3=Double.parseDouble(point[6]); 72 y4=Double.parseDouble(point[8]); 73 if((point.length-1)/2!=4){ 74 System.out.println("wrong number of points"); 75 }else if((point[1].equals(point[3])&&point[2].equals(point[4]))||(point[1].equals(point[5])&&point[2].equals(point[6]))||(point[1].equals(point[7])&&point[2].equals(point[8]))||(point[3].equals(point[5])&&point[4].equals(point[6]))||(point[3].equals(point[7])&&point[4].equals(point[8]))||(point[5].equals(point[7])&&point[6].equals(point[8]))) 76 System.out.println("points coincide"); 77 else if((x2-x1)/(y2-y1)==(x4-x3)/(y4-y3)) 78 System.out.println(true); 79 else 80 System.out.println(false); 81 } 82 else if(num==5){ 83 84 double x1,x2,x3,x4,y1,y2,y3,y4,x,y; 85 86 x1=Double.parseDouble(point[1]); 87 x2 =Double.parseDouble(point[3]); 88 x3=Double.parseDouble(point[5]); 89 x4=Double.parseDouble(point[7]); 90 y1=Double.parseDouble(point[2]); 91 y2=Double.parseDouble(point[4]); 92 y3=Double.parseDouble(point[6]); 93 y4=Double.parseDouble(point[8]); 94 y = ( (y1-y2)*(y4-y3)*x1 + (y4-y3)*(x2-x1)*y1 + (y2-y1)*(y4-y3)*x3 + (x3-x4)*(y2-y1)*y3 ) / ( (x2-x1)*(y4-y3) + (y1-y2)*(x4-x3) ); 95 x = x3 + (x4-x3)*(y-y3) / (y4-y3); 96 if((point.length-1)/2!=4){ 97 System.out.println("wrong number of points"); 98 }else if((point[1].equals(point[3])&&point[2].equals(point[4]))||(point[1].equals(point[5])&&point[2].equals(point[6]))||(point[1].equals(point[7])&&point[2].equals(point[8]))||(point[3].equals(point[5])&&point[4].equals(point[6]))||(point[3].equals(point[7])&&point[4].equals(point[8]))||(point[5].equals(point[7])&&point[6].equals(point[8]))) 99 System.out.println("points coincide"); 100 else if((x2-x1)/(y2-y1)==(x4-x3)/(y4-y3)){ 101 System.out.println("is parallel lines,have no intersection point"); 102 }else{ 103 System.out.println(x+","+y+" "+false); 104 } 105 } 106 } 107 108 } 109 } 110 111 class check{ 112 public String ch; 113 check(String ch){ 114 this.ch=ch; 115 } 116 public boolean che(){ 117 String [] point=ch.split("\\s+|,|:"); 118 boolean mark=true; 119 int num=0; 120 for(int i=1;i<point.length;i++){//检查格式是否合法 121 for(int j=0;j<point[i].length();j++){ 122 if(point[i].charAt(j)=='.'){ 123 if(j==0) 124 mark= false; 125 } 126 else if(point[i].charAt(j)=='+'||point[i].charAt(j)=='-'){ 127 if(j!=0) 128 mark= false; 129 } 130 } 131 } 132 boolean ren=true; 133 for(int i=0;i<ch.length();i++){ 134 if(ch.charAt(i)!=' '&&ch.charAt(i)!='+'&&ch.charAt(i)!='-'&&ch.charAt(i)!='.'&&!(ch.charAt(i)<='9'&&ch.charAt(i)>='0')&&ch.charAt(i)!=','&&ch.charAt(i)!=':') 135 mark=false; 136 if(ch.charAt(i)=='0'&&i!=ch.length()-1){ 137 if(ren&&(ch.charAt(i+1)<'9'&&ch.charAt(i+1)>='0'))//&&ch.charAt(i+1)!='.') 138 mark=false; 139 } 140 else if(ch.charAt(i)=='.'){ 141 ren=false; 142 } 143 if(ch.charAt(i)==' '||ch.charAt(i)==',') 144 ren=true; 145 if(ch.charAt(i)=='.'){ 146 if(i==ch.length()-1) 147 mark=false; 148 if(ch.charAt(i+1)==' ') 149 mark=false; 150 } 151 } 152 return mark; 153 } 154 }
源码分析:输入一串字符串,因为后面需要格式判断是否输入是否非法,于是我创建了一个类,这个类中写了方法确定是否格式非法,如果非法则方法会返回false,先将字符传到类中,然后以空格和“,”分割字符串要确定点(“.”)后面有数字并且第一个不是点,并且如果有正负号,则需要判断是否只含有一个正负号,并且在首位上,如果不符合则返回false,然后还需要判断逗号的个数不符合则输出"Wrong Format",因为第一题只需要输入俩个点坐标,如果不符合则输出"wrong number of points"如果格式正确并且个数都输入一串字符串,因为后面需要格式判断是否输入是否非法,于是我创建了一个类,这个类中写了方法确定是否格式非法,如果非法则方法会返回false,先将字符传到类中,然后以空格和“,”分割字符串要确定点(“.”)后面有数字并且第一个不是点,并且如果有正负号,则需要判断是否只含有一个正负号,并且在首位上,如果不符合则返回false。然后还需要判断逗号的个数是否符合,因为题目只有5个选项,如果输入的第一个字符大于5或者小于0,则输出"Wrong Format",之后在以然后以空格,“,”,和“:”分割字符串,第一个字符转换成数。在将剩余的点转换成数字,并判断是否有俩个点重合,两个点坐标重合,输出"points coincide”。如果数字为1则先判断输入的个数是否为俩个,然后判断是否垂直于x轴,如果垂直输出"Slope does not exist",否则输出斜率。如果数字为2,判断数字是否为三个,如果不是则输出第一个点与另外两点连线的垂直距离。如果如果数字为3,判断数字是否为三个判断三个点是否在一条线上,输出true或者false。如果如果数字为4,判断数字是否为四个,判断前两个点所构成的直线与后两点构成的直线是否平行,输出true或者false。如果如果数字为5,判断数字是否为四个,计算输出前两个点所构成的直线与后两点构成的直线的交点坐标,x、y坐标之间以英文分隔",",并输出交叉点是否在两条线段之内(不含四个端点)的判断结果(true/false),判断结果与坐标之间以一个英文空格分隔。若两条线平行,没有交叉点,则输出"is parallel lines,have no intersection point"。
题目集3 7-3
源码:
1 import java.util.Scanner; 2 public class Main{ 3 public static void main(String args[]){ 4 Scanner sc=new Scanner(System.in); 5 int dou=0; 6 double a,b,c; 7 boolean mark=false,keybo=true; 8 String ch; 9 ch=sc.nextLine(); 10 String [] point=ch.split("\\s+|,|:"); 11 String [] num=ch.split("\\s");//空格分开 12 check text=new check(ch); 13 for(int i=0;i<ch.length();i++){ 14 if(ch.charAt(i)==',')//统计点的个数 15 dou++; 16 } 17 if(dou!=num.length)//一个逗号,俩个点 18 keybo=false; 19 else 20 mark=text.che(); 21 if(!mark||!keybo) 22 System.out.println("Wrong Format"); 23 else{ 24 int num1=Integer.parseInt(point[0]); 25 if(num1==1){ 26 double x1,x2,x3,y1,y2,y3; 27 x1=Double.parseDouble(point[1]); 28 x2 =Double.parseDouble(point[3]); 29 x3=Double.parseDouble(point[5]); 30 y1=Double.parseDouble(point[2]); 31 y2=Double.parseDouble(point[4]); 32 y3=Double.parseDouble(point[6]); 33 if((point.length-1)/2!=3){ 34 System.out.println("wrong number of points"); 35 }else if((point[1].equals(point[3])&&point[2].equals(point[4]))||(point[3].equals(point[5])&&point[4].equals(point[6]))||(point[1].equals(point[5])&&point[2].equals(point[6]))) 36 System.out.println("data error"); 37 else if((x2-x1)/(y2-y1)==(x3-x2)/(y3-y2)||(x2-x1)/(y2-y1)==(x3-x1)/(y3-y1)||(x2-x3)/(y2-y3)==(x1-x3)/(y1-y3)) 38 System.out.println("data error"); 39 else { 40 a=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); 41 b=(x3-x2)*(x3-x2)+(y3-y2)*(y3-y2); 42 c=(x1-x3)*(x1-x3)+(y1-y3)*(y1-y3); 43 if(a==b||b==c||c==a) 44 System.out.print(true); 45 else 46 System.out.print(false); 47 if(a==b&&b==c) 48 System.out.println(" "+true); 49 else 50 System.out.println(" "+false); 51 } 52 } 53 else if(num1==2){ 54 double x1,x2,x3,y1,y2,y3; 55 x1=Double.parseDouble(point[1]); 56 x2 =Double.parseDouble(point[3]); 57 x3=Double.parseDouble(point[5]); 58 y1=Double.parseDouble(point[2]); 59 y2=Double.parseDouble(point[4]); 60 y3=Double.parseDouble(point[6]); 61 if((point.length-1)/2!=3){ 62 System.out.println("wrong number of points"); 63 }else if((point[1].equals(point[3])&&point[2].equals(point[4]))||(point[3].equals(point[5])&&point[4].equals(point[6]))||(point[1].equals(point[5])&&point[2].equals(point[6]))) 64 System.out.println("data error"); 65 else if((x2-x1)/(y2-y1)==(x3-x2)/(y3-y2)||(x2-x1)/(y2-y1)==(x3-x1)/(y3-y1)||(x2-x3)/(y2-y3)==(x1-x3)/(y1-y3)) 66 System.out.println("data error"); 67 else { 68 a=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); 69 b=(x3-x2)*(x3-x2)+(y3-y2)*(y3-y2); 70 c=(x1-x3)*(x1-x3)+(y1-y3)*(y1-y3); 71 a=Math.sqrt(a); 72 b=Math.sqrt(b); 73 c=Math.sqrt(c); 74 double d=a+b+c; 75 76 double area=Math.sqrt(d*(d-a)*(d-b)*(d-c)); 77 double x=(x1+x2+x3)/3.0; 78 double y=(y1+y2+y3)/3.0; 79 String num2=""; 80 num2=num2+d; 81 if(num2.length()>6) 82 System.out.printf("%f ",d); 83 else 84 System.out.print(d +" "); 85 num2=""; 86 num2=num2+area; 87 if(num2.length()>6) 88 System.out.printf("%f ",area); 89 else 90 System.out.print(area +" "); 91 System.out.println((float)x+","+(float)y); 92 } 93 } 94 else if(num1==3){ 95 double x1,x2,x3,y1,y2,y3; 96 x1=Double.parseDouble(point[1]); 97 x2 =Double.parseDouble(point[3]); 98 x3=Double.parseDouble(point[5]); 99 y1=Double.parseDouble(point[2]); 100 y2=Double.parseDouble(point[4]); 101 y3=Double.parseDouble(point[6]); 102 if((point.length-1)/2!=3){ 103 System.out.println("wrong number of points"); 104 }else if((point[1].equals(point[3])&&point[2].equals(point[4]))||(point[3].equals(point[5])&&point[4].equals(point[6]))||(point[1].equals(point[5])&&point[2].equals(point[6]))) 105 System.out.println("data error"); 106 else if((x2-x1)/(y2-y1)==(x3-x2)/(y3-y2)||(x2-x1)/(y2-y1)==(x3-x1)/(y3-y1)||(x2-x3)/(y2-y3)==(x1-x3)/(y1-y3)) 107 System.out.println("data error"); 108 else 109 System.out.println("true false false"); 110 } 111 else if(num1==4){ 112 System.out.println("points coincide"); 113 } 114 else if(num1==5){ 115 System.out.println("in the triangle"); 116 } 117 } 118 } 119 } 120 121 class check{ 122 public String ch; 123 check(String ch){ 124 this.ch=ch; 125 } 126 public boolean che(){ 127 String [] point=ch.split("\\s+|,|:"); 128 boolean mark=true; 129 int num=0; 130 for(int i=1;i<point.length;i++){//检查格式是否合法 131 for(int j=0;j<point[i].length();j++){ 132 if(point[i].charAt(j)=='.'){ 133 if(j==0) 134 mark= false; 135 } 136 else if(point[i].charAt(j)=='+'||point[i].charAt(j)=='-'){ 137 if(j!=0) 138 mark= false; 139 } 140 } 141 } 142 boolean ren=true; 143 for(int i=0;i<ch.length();i++){ 144 if(ch.charAt(i)!=' '&&ch.charAt(i)!='+'&&ch.charAt(i)!='-'&&ch.charAt(i)!='.'&&!(ch.charAt(i)<='9'&&ch.charAt(i)>='0')&&ch.charAt(i)!=','&&ch.charAt(i)!=':') 145 mark=false; 146 if(ch.charAt(i)=='0'&&i!=ch.length()-1){ 147 if(ren&&(ch.charAt(i+1)<'9'&&ch.charAt(i+1)>='0'))//&&ch.charAt(i+1)!='.') 148 mark=false; 149 } 150 else if(ch.charAt(i)=='.'){ 151 ren=false; 152 } 153 if(ch.charAt(i)==' '||ch.charAt(i)==',') 154 ren=true; 155 if(ch.charAt(i)=='.'){ 156 if(i==ch.length()-1) 157 mark=false; 158 if(ch.charAt(i+1)==' ') 159 mark=false; 160 } 161 } 162 return mark; 163 } 164 }
源码分析:输入一串字符串,因为后面需要格式判断是否输入是否非法,于是我创建了一个类,这个类中写了方法确定是否格式非法,如果非法则方法会返回false,先将字符传到类中,然后以空格和“,”分割字符串要确定点(“.”)后面有数字并且第一个不是点,并且如果有正负号,则需要判断是否只含有一个正负号,并且在首位上,如果不符合则返回false,然后还需要判断逗号的个数不符合则输出"Wrong Format",因为第一题只需要输入俩个点坐标,如果不符合则输出"wrong number of points"如果格式正确并且个数都输入一串字符串,因为后面需要格式判断是否输入是否非法,于是我创建了一个类,这个类中写了方法确定是否格式非法,如果非法则方法会返回false,先将字符传到类中,然后以空格和“,”分割字符串要确定点(“.”)后面有数字并且第一个不是点,并且如果有正负号,则需要判断是否只含有一个正负号,并且在首位上,如果不符合则返回false。然后还需要判断逗号的个数是否符合,因为题目只有5个选项,如果输入的第一个字符大于5或者小于0,则输出"Wrong Format",之后在以然后以空格,“,”,和“:”分割字符串,第一个字符转换成数。在将剩余的点转换成数字,并判断是否有俩个点重合,两个点坐标重合,输出"points coincide”。否则计算三条边的长度,判断是否能组成三角形,如果输入的三个点无法构成三角形,输出"data error"。如果数字为1则先判断输入的个数是否为三个,判断是否是等腰三角形、等边三角形,判断结果输出true/false,两个结果之间以一个英文空格符分隔。如果数字为2,判断数字是否为三个,输出周长、面积、重心坐标,三个参数之间以一个英文空格分隔,坐标之间以英文","分隔。如果如果数字为3,输出是钝角、直角还是锐角三角形,依次输出三个判断结果(true/false),以一个英文空格分隔。如果如果数字为4,判断数字是否为五个,输出前两个点所在的直线与三个点所构成的三角形相交的交点数量,如果交点有两个,则按面积大小依次输出三角形被直线分割成两部分的面积。若直线与三角形一条线重合,输出"The point is on the edge of the triangle"。如果如果数字为5,判断数字是否为四个,判输出第一个是否在后三个点所构成的三角形的内部(输出in the triangle/outof triangle)。
采坑心得
因为以前用的是C语言写的代码,输出时%f输出导致输出小数点位数总是与样例不符合,在java中可直接输出,并且以前C语言可以格式输入,现在java用split方法来分割字符数组从而得到想要的结果。
作业二7-2,完成过程中,开始多处错误,由于粗心,一开始没注意在i循环里使用i导致进行了循环,由于代码过多debug时难度较大,并且因为我是对于字符串逐一进行处理并且在循环里面,当时并未注意数组的越值。
作业三,三个作业都有格式非法输入判断,过于注意样例的非法输入,忘记独自考虑其他类型的非法输入,导致在做的时候进行了大量的错误操作。
字符串的比较要用equal,数字和字符可直接用==
总结:
巩固了java的基础知识,对String类的使用以及String的方法例如split,parse等方法,更加熟练,并且对题目要求分析更加全面
我觉得老师可以等学生做完pta,发布一下题解,因为刚刚做完,印象更深,能更好的体会的思路上哪里出了问题