码迷,mamicode.com
首页 > 其他好文 > 详细

【修改】随机产生300道四则运算题(限制:小学水平)

时间:2018-03-11 22:35:03      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:system   random   rand   a+b   也会   tin   大于   转换   int   

根据程序的功能以及大佬的指教,修改了部分代码,上博中的问题已经成功解决。

修改点:

1.将从键盘获取标识符flag改为利用随机数机制随机产生,随机产生的标识符flag大于等于0,小于4。

2.将产生随机标识符放在循环内部。上次的标识符放在循环之外,这是上次设计的缺陷,导致了一次运行只能产生一种类型的运算题。

import java.util.*;

public class A {
public static void main(String[] args) {

int sum=0;
int sub=0;
int mult=0;
float div=0;
for(int j=0;j<300;j++){
Random ran=new Random();
//产生随机的标识符flag(标识符flag大于等于0,小于4)
int flag = ran.nextInt(4);
//生成两个随机数
int a=ran.nextInt(100);
int b=ran.nextInt(100);
System.out.println("产生两个随机整数:"+a+","+b);
//根据标识符确定执行何种运算
switch(flag){
case 0:{ sum=a+b;
System.out.println("sum="+sum);
break;}
case 1:{ if(a>b) sub=a-b; //运算结果不能为负
else sub=b-a;
System.out.println("sub="+sub);
break;}
case 2:{ mult=a*b;
System.out.println("mult="+mult);
break;}
case 3:{ if(b!=0) div=(float)a/(float)b; //两个数都为整数,结果也会为整数,除不进的全部为0,需要强制转换为float型
else System.out.println("除数为零,无法进行除法运算!");
System.out.println("div="+div);
break;}
}
}
}

}

功能是实现了,如果有更好的设计方法可以使代码变得更简洁,还是请多多指教。

【修改】随机产生300道四则运算题(限制:小学水平)

标签:system   random   rand   a+b   也会   tin   大于   转换   int   

原文地址:https://www.cnblogs.com/Doraemon12138/p/8546311.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!