1.需求:根据给出的由两个数字(整数或者是小数)和一个运算符构成的表达式,输入表达式的结果,并与正确答案进行比较,输出对错
2.需求分析:
(1)生成两个随机数
(2)生成一个随机运算符
(3)根据随机生成的数字和运算符构成的表达式,输入运算结果
(4)根据输入的运算结果与正确答案进行比较,输出正确或者错误
2.代码实现
package ruan.jian.gong.cheng; import java.text.DecimalFormat; import java.util.Random; import java.util.Scanner; public class FigureOperate { public static void main(String[] args) { int correctNum=0; //统计答对的题目个数 int wrongNum=0; //统计答错的题目个数 Scanner scan=new Scanner(System.in); double result; //表达式的结果 double correctResult; //表达式的正确结果 DecimalFormat df=new DecimalFormat("0.00"); //循环输出10道十以内的四则运算 for(int i=1;i<=10;i++){ double num1=Math.round((double)(Math.random()*10)); //随机生成一个10以内的数字放在运算符的左侧 double num2=Math.round((double)(Math.random()*10)); //随机生成一个10以内的数字放在运算符的右侧 //随机生成一个运算符 Random operate=new Random(); int n=operate.nextInt(4); char [] c={'+','-','*','/'}; int ope=(int)c[n]; //获得随机生成的运算符对应的ASSIC值 switch(ope){ case 43:{ //与加号对应的ASSIC值相等,即当运算符为加号时 System.out.print("请计算:"+num1+"+"+num2+"="); result=scan.nextDouble(); correctResult=num1+num2; if(correctResult==result){ System.out.println("计算正确"); correctNum++; }else{ System.out.println("计算错误"); wrongNum++; } break; } case 45:{ //与减号对应的ASSIC值相等,即当运算符为减号时 System.out.print("请计算:"+num1+"-"+num2+"="); result=scan.nextDouble(); correctResult=num1-num2; if(correctResult==result){ System.out.println("计算正确"); correctNum++; }else{ System.out.println("计算错误"); wrongNum++; } break; } case 42:{ //与乘号对应的ASSIC值相等,即当运算符为乘号时 System.out.print("请计算:"+num1+"*"+num2+"="); result=scan.nextDouble(); correctResult=num1*num2; if(correctResult==result){ System.out.println("计算正确"); correctNum++; }else{ System.out.println("计算错误"); wrongNum++; } break; } case 47:{ //与除号对应的ASSIC值相等,即当运算符为除号时 System.out.print("请计算:"+num1+"/"+num2+"="); result=scan.nextDouble(); correctResult=Double.parseDouble(df.format(num1/num2)); if(correctResult==result){ System.out.println("计算正确"); correctNum++; }else{ System.out.println("计算错误"); wrongNum++; } break; } } } System.out.println("共答对"+correctNum+"道题"); System.out.println("共答对"+wrongNum+"道题"); } }
3.运行结果
4.结果分析
可以正确得出四则运算的结果并统计答对和答错的题数