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+"道");
}
[码云代码链接](https://gitee.com/brs666/java-20165206.git)
## 四、运行截图
![](https://images2018.cnblogs.com/blog/1296608/201804/1296608-20180415235252985-1437980478.jpg)
## 五、遇到的问题及解决方案
问题一:不是很清楚如何生成随机数。
问题一解决方案:我们经过查阅资料和讨论,将常用实用类中学习过的Random类与switch语句结合,实现了随机数的生成。
## 六、对结对的小伙伴的评价
我的结对伙伴是[20165203夏云霄](http://www.cnblogs.com/20165203-xyx/)。
我们两个是先共同弄清楚思路,做出一个大体的框架,然后再对细节进行讨论,不断改进。合作还是很愉快的。虽然目前完成的还不是很好,但找到了努力的方向,接下来我们会不断完善我们的程序。
![](https://images2018.cnblogs.com/blog/1296608/201804/1296608-20180415235314021-1833839701.jpg)