20165206 结对编程项目-四则运算 阶段一总结
一、需求分析
- 通过命令行输入生成题目的数量,随机生成题目。
- 生成的题目不重复。
- 生成的四则运算题目支持整数、支持多运算符。
- 能够根据作答情况统计正确的个数。
二、设计思路
- 设计一个类来实现整数的四则运算。
- 用一个循环结构来生成随机数,生成题目。
- 设计一个类来比较输入的答案与正确答案是否一致。
- 判断做的题是否正确,并返回正确的个数。
- 设计单元测试,对代码进行测试及修改
UML图:
三、核心代码
-
生成随机数:
while(true){ a=new Random().nextInt(100); b=new Random().nextInt(100); i=new Random().nextInt(4); if(i==1&&a<b){ continue; } if(i==3){ if(b==0){ continue; } if(a%b!=0){ continue; } } break; } }
-生成算式及答案:
switch(this.operator().toCharArray()[0]){
case '+':result=this.getA()+this.getB();break;
case '-':result=this.getA()-this.getB();break;
case '×':result=this.getA()*this.getB();break;
case '÷':result=this.getA()/this.getB();break;
}
- 输入题目的个数并统计个数:
Scanner in = new Scanner(System.in);
int i;
i=in.nextInt();
int correct=0;
Output out;
while(i>0){
out=new Output();
System.out.print(out.getString());
String s=scanner.nextLine();
if(out.panduan(s)){
System.out.println("回答正确!");
correct++;
}
else{
System.err.println("回答错误!");
}
i--;
System.out.println("还有"+i+"道题未回答");
}
System.out.println("恭喜你!,回答完毕,回答正确的为"+correct+"道");
}
四、运行截图
五、遇到的问题及解决方案
Q1:一开始,不知道如何设置随机数。
A1:经过小伙伴的指导,并上网查找得知,需要用Math包中的Random()语句,例如:
a=new Random().nextInt(100);则为a为0到100的随机数。
Q2:不知道如何输入一个数。
A2:原来的知识有些遗忘,应该先创建一个类,
Scanner in = new Scanner(System.in);然后,利用int i; i=in.nextInt();
进行输入,这是一个常用语句,要记住。
六、结对创意照
七、对结对的小伙伴的评价
我的结对小伙伴是20165206韩啸同学,他踏实努力,办事认真。我们在一起讨论时,先确定一个整体的大致框架,然后再深入细节,将每个方法刻画细致,最后,在主类中加以修饰。虽然,我们本次所编代码还有很多不足,并且真分数的运算还没有实现,相信我们下周会更加努力,完善这个项目代码。