已经修改好了
用计算机来当一年级的算术老师,要求随机出十道两位数的四则运算的算术题,每道题10分,学生输入该题的答案,计算机根据学生的答案判断正确与否,当结束时给出成绩。
提示:(1)长生一个1-4的随机整数,代表【+,=,*,/】四种运算;
(2)如何处理商的精准度问题。
以下代码部分:
import java.util.*;
public class exam {
public static void main(String[] args){
String s="";
int number,n,m=0;
double r,q;
Scanner in=new Scanner(System.in);
for(int i=0;i<10;i++){
int number1=(int)(Math.random()*90+10);
int number2=(int)(Math.random()*90+10);
int number3=(int)(Math.random()*4+1);
switch(number3){
case 1:s="+";break;
case 2:s="-";break;
case 3:s="×";break;
case 4:s="÷";break;
default:;
}
System.out.print(number1+s+number2+"=");
switch(number3){
case 1:n=number1+number2;number=in.nextInt();if(number==n)m=m+10;break;
case 2:n=number1-number2;number=in.nextInt();if(number==n)m=m+10;break;
case 3:n=number1*number2;number=in.nextInt();if(number==n)m=m+10;break;
case 4:r=number1*1.0/number2;q=in.nextDouble();n=(int)(r*100+0.5);r=n/100.0;if(q==r)m=m+10;break;
default:;
}
}
System.out.println("得分:"+m);
}
}
以上有些错误,关于精度问题,除法之后,保留两位小数,并且四舍五入,请等作者解决这个问题后更新。。
感谢!!
有疑问可以在下面评论!!