结对编程项目-四则运算 (第二周)
需求分析
实现一个命令行程序,要求:git
- 自动生成小学四则运算题目(加、减、乘、除)
- 支持整数
- 支持多运算符(好比生成包含100个运算符的题目)
- 支持真分数
- 统计正确率
请输入要生成的题目数: <输入6>
以下所示编程
题目1:
3 + 4 = <输入7>
正确!
题目2:
5 ÷ 8 = <输入5/6>
错误,正确答案为:5/8
题目3:
2/3 - 1/5 = <输入7/15>
正确!
题目4:
1/6 * 3/7 = <输入3/42>
正确!
题目5:
10 - 5 * 4 = <输入20>
错误,正确答案为:-20
题目6:
(1/3 + 1/2) * 11/20 = <输入55/120>
错误,正确答案为:11/24
完成6道题目,正确率为50%
设计思路
- 经过命令行参数形式来指定生成题目数量以及运算符数量
- 去重
实现过程当中的关键代码解释
char z =op.charAt(0);
if(z=='+')
System.out.printf("%f",x+y);
else if(z=='-')
System.out.printf("%f",x-y);
else if(z=='*')
System.out.printf("%f",x*y);
else if(z=='/'){
if(y==0){
System.out.println("you can not do that");
}
else{
System.out.printf("%f",x/y);
运行截图


代码连接学习
代码分析
- 先写一个循环来计数生成的算式个数for (int i = 0; i < number; i++)
- 断定运算的类型,用if-else if-else语句,若是是‘+’就执行add(a,b)若是输入的数据等于正确结果,则输出right
- 若是运算类型为“-”就执行minus(op1,op2),若是输入数据等于正确结果,则输出right
- 若是运算类型为“*”就执行times(op1,op2)
- 若是运算类型为“*”就执行Div(op1,op2)
- 最后统计right的数量与输入的number比,right/number求出正确率输出
结对总结(对组员的评价)
- 本次实验对我来讲以一次很可贵的历练,我我的编程能力通常,在通关过与队友20165302的共同讨论,翻阅课本、浏览网站寻找思路,最终顺利地完成了本次实验。在实验中,队友常常主动找我讨论问题,这让我逐渐拜托懒惰,开始积极主动起来。这是小组学习为我带来的巨大优点。
结对学习照
