随机产生300个四则运算题
代码如下(一次修改后):
1 public class questions { 2 3 public static void main(String[] args) { 4 // TODO Auto-generated method stub 5 6 for(int i=0;i<300;i++){ 7 int a=(int)(Math.random()*100); 8 int b=(int)(Math.random()*100); 9 int c=(int)(Math.random()*100); 10 11 String q=""; 12 int ans=0; 13 int[] flag=new int[2]; 14 for(int j=0;j<2;j++){ 15 int f=(int)(Math.random()*4); 16 switch(f){ 17 case 0: 18 if(j==0){ 19 q=a+"+"+b; 20 } 21 else{ 22 q=q+"+"+c; 23 } 24 flag[j]=0; 25 break; 26 case 1: 27 if(j==0){ 28 q=a+"-"+b; 29 } 30 else{ 31 q=q+"-"+c; 32 } 33 flag[j]=1; 34 break; 35 case 2: 36 if(j==0){ 37 q=a+"*"+b; 38 } 39 else{ 40 q=q+"*"+c; 41 } 42 flag[j]=2; 43 break; 44 case 3: 45 if(j==0){ 46 q=a+"/"+b; 47 } 48 else{ 49 q=q+"/"+c; 50 } 51 flag[j]=3; 52 break; 53 } 54 } 55 if(flag[0]<2){ 56 if(flag[1]<2){ 57 if(flag[0]==0){ 58 ans=a+b; 59 } 60 else{ 61 ans=a-b; 62 } 63 if(flag[1]==0){ 64 ans+=c; 65 } 66 else{ 67 ans-=c; 68 } 69 } 70 else{ 71 if(flag[1]==2){ 72 ans=b*c; 73 } 74 else{ 75 if(c==0){ 76 System.out.println("分母为零,此题无解"); 77 continue; 78 } 79 ans=b/c; 80 } 81 if(flag[0]==0){ 82 ans+=a; 83 } 84 else{ 85 ans=a-ans; 86 } 87 } 88 } 89 else{ 90 if(flag[0]==2){ 91 ans=a*b; 92 } 93 else{ 94 if(b==0){ 95 System.out.println("分母为零,此题无解"); 96 continue; 97 } 98 ans=a/b; 99 } 100 if(flag[1]==0){ 101 ans+=c; 102 } 103 else if(flag[1]==1){ 104 ans-=c; 105 } 106 else if(flag[1]==2){ 107 ans*=c; 108 } 109 else{ 110 if(c==0){ 111 System.out.println("分母为零,此题无解"); 112 continue; 113 } 114 ans/=c; 115 } 116 } 117 118 System.out.println(q); 119 System.out.println("答案是:"+ans); 120 } 121 } 122 123 }
运行结果如下:
【修改了获取随机数的次序,使每一题涉及到的数字不同】