在上次和小伙伴结对编写了简单的出计算题的程序后,我们之后又讨论了相对复杂的四则运算。其中包括括号的判断,乘除法等做了相应的代码完善。代码如下:
package Calculate; import java.util.Scanner; public class test { private static int ceng=0; public static String AddYunsuan() { ceng++; String Yunsuan=""; String sumOne=""; String sumTwo=""; int number1=(int)(Math.random()*100); int number2=(int)(Math.random()*100); if(ceng==1) { int numonestate=(int)(Math.random()*2); switch (numonestate) { case 0: sumOne="("+AddYunsuan()+")"; break; case 1: sumOne=number1+""; break; default: break; } int numtwostate=(int)(Math.random()*2); switch (numtwostate) { case 0: sumTwo="("+AddYunsuan()+")"; break; case 1: sumTwo=number2+""; break; default: break; } } else { sumOne=number1+""; sumTwo=number2+""; } int sign=(int)(Math.random()*2); if(ceng==1) { sign=sign+2; } switch (sign) { case 0: Yunsuan= sumOne+"+"+sumTwo; break; case 1: Yunsuan= sumOne+"-"+sumTwo; break; case 2: Yunsuan= sumOne+"*"+sumTwo; break; case 3: Yunsuan= sumOne+"/"+sumTwo; break; default: break; } ceng--; return Yunsuan; } public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入要输出的题数:"); int number=0; Scanner input=new Scanner(System.in); while(!input.hasNextInt()) { input.nextLine(); System.out.println("输入不是整数,请重新输入"); } number=input.nextInt(); input.close(); for(int i=0;i<number;i++){ System.out.println(AddYunsuan()+"="); } } }
经过这次的结对编程,感觉到了个人思维的局限性。有的时候想到的事情考虑的并不全面,所以感觉老师指导的结对编程有好处,也能锻炼到同学之间的团队合作能力。在和小伙伴讨论的过程中,感觉自己也能收获很多,也能注意到一些平时编程被忽略的问题。这次完善的代码并没有完全达到要求,希望在之后能够想到更好的方法来实现。