package classWork;
import java.lang.Math;
public class MathTest1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i = 0;i < 30;i++)
{
int firNum = (int)(1 + Math.random()*98);//生成1到99的随机数
int secNum = 1 + (int)(Math.random()*98);
int operaNum = 1 + (int)(Math.random()*3);//用1到4分别代表加减乘除
if(operaNum == 1)
{
System.out.println(firNum + "+" + secNum + "=?");
}
if(operaNum == 2)
{
System.out.println(firNum + "-" + secNum + "=?");
}
if(operaNum == 3)
{
System.out.println(firNum + "*" + secNum + "=?");
}
if(operaNum == 4)
{
if(secNum != 0)
{
System.out.println(firNum + "/" + secNum + "=?");
}
else if(firNum != 0)
{
System.out.println(secNum + "/" + firNum + "=?");
}
else
{
System.out.println(30 + "/" + 15 + "=?");
}
}
}
}
}
程序运行结果如下:
随机生成30个四则运算算式,这并没有什么难度。关键是要注意除数不能为0这个细节。
int firNum = (int)(1 + Math.random()*98);这是另一个需要注意的细节,这条语句如果写成了int firNum = 1 + (int)Math.random()*98,那么就会有一种很奇怪的现象,那就是firNum一直是1.这是因为取整的优先级要高于乘法的优先级,因此即使是在简单的程序,我们也要亲手去把它们实现了,避免出现眼高手低的情况。还有一个问题就是修改了代码之后,必须要保存更改。要不然程序运行的还是没修改以前的代码的结果,这样即使是程序完全正确也不能够显示出我们想要的结果来。