课堂练习之每天出30道四则运算题目

  1 /*
  2 需求:每天出30道四则运算题目给小学生做
  3 */
  4 
  5 class Rand
  6 {
  7     public static void sop(Object obj)
  8     {
  9         System.out.println(obj);
 10     }
 11     public static void main(String[] args) 
 12     {
 13         sop("小学生二年级课后作业,每天30道四则运算练习:");
 14 
 15         int count = 0;
 16 
 17         for (int i=0;i<30 ;i++ )
 18         {
 19             int d1 = (int)((Math.random())*100);
 20             int d2 = (int)((Math.random())*100);
 21             int k = (int)((Math.random())*100);
 22             int k2 = (int)((Math.random())*100);
 23             int k3 = (int)((Math.random())*100);
 24             int k4 = (int)((Math.random())*100);
 25             int x = 1;
 26             if(0<=k&&k<12)
 27                 x = 1;
 28             else if(12<=k&&k<24)
 29                 x = 2;
 30             else if(24<=k&&k<36)
 31                 x = 3;
 32             else if(36<=k&&k<48)
 33                 x = 4;
 34             else if(48<=k&&k<60)
 35                 x = 5;
 36             else if(60<=k&&k<72)
 37                 x = 6;
 38             else if(72<=k&&k<84)
 39                 x = 7;
 40             else 
 41                 x = 8;
 42             switch(x)
 43             {
 44                 case 1:
 45                     sop(d1+" + "+d2+" = ");
 46                 break;
 47                 case 2:
 48                     jianfa(d1,d2);
 49                 break;
 50                 case 3:
 51                     sop(d1+" * "+d2+" = ");
 52                 break;
 53                 case 4:
 54                     chufa(d1,d2);
 55                 break;
 56                 
 57             
 58                 case 5:
 59                     sop(zhenfenshu(k,k2)+" + "+zhenfenshu(k3,k4)+" = ");
 60                 break;
 61                 case 6:
 62                     sop(zhenfenshu(k,k2)+" - "+zhenfenshu(k3,k4)+" = ");
 63                 break;
 64                 case 7:
 65                     sop(zhenfenshu(k,k2)+" * "+zhenfenshu(k3,k4)+" = ");
 66                 break;
 67                 case 8:
 68                     sop(zhenfenshu(k,k2)+" / "+zhenfenshu(k3,k4)+" = ");
 69                 break;
 70                 default:
 71                     sop("duang,duang,daung");
 72                 break;
 73             }
 74             count++;
 75         }
 76         
 77         sop("以上共有:"+count+"道题。");
 78         
 79     }
 80     public static void jianfa(int a,int b)//因为小学二年级没有学负数,所以相减不能为负数
 81     {
 82         if(a>=b)
 83             sop(a+" - "+b+" = ");
 84         else
 85         {
 86             sop(b+" - "+a+" = ");
 87         }
 88             
 89     }
 90     
 91     public static void chufa(int a,int b)//为了使除法有意义,除数不能为零,
 92     {
 93         if(b>0)        
 94             sop(a+" / "+b+" = ");
 95         //如果除数为零,就将其加上10,再进行运算
 96         else
 97         {
 98             b = b + 10;
 99             sop(a+" / "+b+" = ");
100         }
101             
102     }
103     public static String zhenfenshu(int a,int b)
104     {
105         if(a<=b)
106             return a+"/"+b;
107         else
108             return b+"/"+a;
109     }
110 }
111 /*
112 总结:
113 整体思路:一开始看到这个题目,
114 1、产生两个一位或两位的随机数,
115 2、再随机产生四则运算中的一个运算符号,
116 3、进行组合,输出。
117 4、可以进行真分数的运算。
118 
119 遇到的问题:
120 1、一开始忘记了Java语言中产生随机数的方法,课堂上花了一点时间
121 查阅了Java API,得知随机数的产生是Math.random()
122 2、然后对随机产生运算符号经过思考:可以先产生0~99随机数,分成四份,
123 用switch语句进行控制。
124 3、接下来解决了两数相减,产生负数的情况:让两数交换一下就ok。
125 4、最后解决了除法运算除数不能为零的情况,如果除数为零,就将其加上10,再进行运算
126 5、添加了真分数的运算,通过交叉整数和真分数显示。
127 
128 */

原文地址:https://www.cnblogs.com/KevinBin/p/4319491.html