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 */