自动生成30道小学四则运算
1. 设计思想
程序整体采用Math.random()方法产生随机数来进行实现;其中在生成运算符时,先产生4个随机数1,2,3,4,分别代表加减乘除,从而实现了随机产生;值得注意的是小学题目为非负数运算,所以应该增加一步判断运算结果是否为负数;若为负数则重新产生两个随机数。
2. 源程序代码
//班级:信1705-2
//姓名:马旺旺
//学号:20173564
package 小学四则运算;
public class Arithmetic {
public static char fuhao() {//随机产生运算符号
char fu =' ';
int i;
i=(int)(Math.random()*4+1);//i从1,2,3,4中随机取值
switch(i) {
case 1: fu='+';break;
case 2: fu='-';break;
case 3: fu='*';break;
case 4: fu='/';break;
}
return fu;
}
public static void integer(){//随机产生0~100之间的一个数
fuhao();
int x,y;
char op;
x=(int) (Math.random()*100+1);
y=(int) (Math.random()*100+1);
op=fuhao();
if(op=='-')//小学的四则远算非负数,运算结果若为负数则重新产生
while(x<y)
{
x=(int) (Math.random()*100+1);
y=(int) (Math.random()*100+1);
}
System.out.print(x);
System.out.print(op);
System.out.print(y);
System.out.println("=");
}
public static void main(String[] args) {
for(int i=0;i<30;i++) //产生30道四则运算题目
integer();
}
}
3. 实现结果截图
4. 实验总结
该实验主要考虑使用哪一种产生随机数的方法,哪一种更加适合。在输出语句上也遇到了一些问题,最终得以实现。