20165329 结对编程项目-四则运算
一、需求分析
实现一个命令行程序,要求:
- 自动生成小学四则运算题目(加、减、乘、除)
- 支持整数
- 支持多运算符(比如生成包含100个运算符的题目)
- 支持真分数
- 统计正确率
二、设计思路
- 1 . 先进行中缀转后缀
- 2 . 对后缀进行排序
- 3 . 若后缀相同,则进行答案判断
实现过程中的关键代码
import java.util.Scanner;
public class question {
public static void main(String[] args)
{
int q;
int all,answer=0;
int answer2;
int count=0;
System.out.println("请你输入练习的题目数:");
Scanner input=new Scanner(System.in);
all=input.nextInt();
question question=new question();
for(int n=0;n<all;n++)
{
int i=(int)(Math.random()*100);
int j=(int)(Math.random()*100);
switch((int)(Math.random()*4))
{
case 1:
System.out.println(i+"+"+j+"=");
answer=i+j;
break;
case 2:
if(i<j)
{
int temp=i;
i=j;
j=temp;
}
System.out.println(i+"-"+j+"=");
answer=i-j;
break;
case 3:
System.out.println(i+"*"+j+"=");
answer=i*j;
break;
case 4:
while(j==0)
j= (int)(Math.random()*100);
System.out.println(i+"/"+j+"=");
answer=i/j;
break;
}
Scanner input2=new Scanner(System.in);
answer2=input2.nextInt();
if(answer2==answer){
System.out.println("5329觉得你是正确的!");
count++;
}
else{
System.out.println("5308觉得你是错误的!");
}
}
float cent=(float)count/(float)all;
System.out.println("你的正确率为"+cent);
}
}
运行过程截图
代码托管地址(https://gitee.com/BESTI-IS-JAVA-2018/5329hjw)
结对感受
在这一次的结对编程学习中,我深刻地理解了娄老师为什么要推荐我们结对学习。这次的学习任务比以往要重很多,和队友一起解决问题大大节约了时间和精力,所以受益匪浅。