设计思路:
1.生成两个随机数,因为要支持分数,设置随机数的范围为0~200,当随机数在0~99之间时,该随机数作为运算数输出。当随机数大于100时,由系统再次生成两个随机数组成分数,为了方便计算分子设置范围为0~20,分母设置范围为2~20。
2.生成一个随机数作为符号,该随机数范围为1~4的整数,分别对应加减乘除。
3.判断生成的数是分数还是整数然后输出式子。
代码:
package 四则运算;public class 四则运算 { public static void main(String[] args) { // TODO Auto-generated method stub for(int i=0;i<30;i++) { int m=0,n=0,x=0,y=0; int a=(int)(Math.random()*200);//如果是0~99则输出整数;如果是100~199输出分数 int b=(int)(Math.random()*200); int c=1+(int)(Math.random()*4); if(a>99) { m=(int)(Math.random()*20); n=2+(int)(Math.random()*18); } if(b>99) { x=(int)(Math.random()*20); y=2+(int)(Math.random()*18); } if(c==1) { if(a>99&&b>99)System.out.println(m+"/"+n+" + "+x+"/"+y+" ="); if(a>99&&b<100)System.out.println(m+"/"+n+" + "+b+" ="); if(a<100&&b>99)System.out.println(a+" + "+x+"/"+y+" ="); if(a<100&&b<100)System.out.println(a+" + "+b+" ="); } if(c==2) { if(a>99&&b>99)System.out.println(m+"/"+n+" - "+x+"/"+y+" ="); if(a>99&&b<100)System.out.println(m+"/"+n+" - "+b+" ="); if(a<100&&b>99)System.out.println(a+" - "+x+"/"+y+" ="); if(a<100&&b<100)System.out.println(a+" - "+b+" ="); } if(c==3) { if(a>99&&b>99)System.out.println(m+"/"+n+" × "+x+"/"+y+" ="); if(a>99&&b<100)System.out.println(m+"/"+n+" × "+b+" ="); if(a<100&&b>99)System.out.println(a+" × "+x+"/"+y+" ="); if(a<100&&b<100)System.out.println(a+" × "+b+" ="); } if(c==4) { while(b==0) b=(int)(Math.random()*100); if(a>99&&b>99)System.out.println(m+"/"+n+" ÷ "+x+"/"+y+" ="); if(a>99&&b<100)System.out.println(m+"/"+n+" ÷ "+b+" ="); if(a<100&&b>99)System.out.println(a+" ÷ "+x+"/"+y+" ="); if(a<100&&b<100)System.out.println(a+" ÷ "+b+" ="); } } } }
课上未按时完成的原因:程序看似简单,却有很多细节需要注意,故在课上没有按时完成。