四则运算

  1 package de;

  2 import java.text.NumberFormat;

  3 import java.util.*;

  4 public class de {

  5 

  6     public static void main(String[] args) {

  7         int []a=new int[100];

  8         int []b=new int[100];

  9         double []c=new double[100];

 10         double []d=new double[100];

 11         int fw1;

 12         int fw2;

 13         Scanner in=new Scanner(System.in);

 14         System.out.print("请输入题目的数量(小于100):");

 15         int n=in.nextInt();

 16         System.out.print("是否加减有负数(Y OR N):");

 17         String fs=in.next();

 18         System.out.print("是否有乘除法(Y OR N):");

 19         String cc=in.next();

 20         System.out.print("是否有小数(Y OR N):");

 21         String xs=in.next();

 22         if(xs.equals("N"))

 23         {

 24             System.out.print("请输入整数数值的范围,不支持小数(0~100)左边:");

 25             fw1=in.nextInt();

 26             System.out.print("请输入整数数值的范围,不支持小数(0~100)右边:");

 27             fw2=in.nextInt();

 28             for(int i=0;i<n;i++)

 29             {

 30                 do

 31                 {

 32                     a[i]=(int)(Math.random()*100);

 33                 }while(!(a[i]<=fw2&&a[i]>=fw1));

 34                 do

 35                 {

 36                     b[i]=(int)(Math.random()*100);

 37                 }while(!(b[i]<=fw2&&b[i]>=fw1));

 38             }

 39             for(int i=0;i<n;i++)

 40             {

 41                 c[i]=Math.random()*100;

 42                 d[i]=Math.random()*100;

 43             }

 44         }

 45         else

 46         {

 47             for(int i=0;i<n;i++)

 48             {

 49                 c[i]=Math.random()*100;

 50                 d[i]=Math.random()*100;

 51             }

 52             for(int i=0;i<n;i++)

 53             {

 54                 a[i]=(int)(Math.random()*100);

 55                 b[i]=(int)(Math.random()*100);

 56             }

 57         }

 58         if(cc.equals("N")) //加减模块(没有乘除和小数)

 59         {

 60             for(int i=0;i<n;i++)

 61             {

 62                     int j=(int)(Math.random()*100);

 63                     if(j%2==0)            //偶数打印加法

 64                     {

 65                         int m=(int)(Math.random()*100);

 66                         if(m%2==0&&xs.equals("Y"))

 67                         {

 68                             NumberFormat nFormat=NumberFormat.getNumberInstance();

 69                             nFormat.setMaximumFractionDigits(2);

 70                             System.out.println(nFormat.format(c[i])+"+"+nFormat.format(d[i])+"=");

 71                         }

 72                         else

 73                         {

 74                             System.out.println(a[i]+"+"+b[i]+"=");

 75                         }

 76                     }                    

 77                     else                  //否则打印减法

 78                     {

 79                         if(fs.equals("N"))   //减法没有负数

 80                         {

 81                             int h=(int)(Math.random()*100);

 82                             if(h%2==0&&xs.equals("Y"))

 83                             {

 84                                 if(c[i]>d[i])

 85                                 {

 86                                     NumberFormat nFormat=NumberFormat.getNumberInstance();

 87                                     nFormat.setMaximumFractionDigits(2);

 88                                     System.out.println(nFormat.format(c[i])+"-"+nFormat.format(d[i])+"=");

 89                                 }    

 90                                 else

 91                                 {

 92                                     NumberFormat nFormat=NumberFormat.getNumberInstance();

 93                                     nFormat.setMaximumFractionDigits(2);

 94                                     System.out.println(nFormat.format(d[i])+"-"+nFormat.format(c[i])+"=");

 95                                 }

 96                             }

 97                             else

 98                             {

 99                                 if(a[i]>b[i])

100                                 {

101                                     System.out.println(a[i]+"-"+b[i]+"=");

102                                 }    

103                                 else

104                                 {

105                                     System.out.println(b[i]+"-"+a[i]+"=");

106                                 }

107                             }

108                         }

109                         else

110                         {

111                             int l=(int)(Math.random()*100);

112                             if(l%2==0&&xs.equals("Y"))

113                             {

114                                 NumberFormat nFormat=NumberFormat.getNumberInstance();

115                                 nFormat.setMaximumFractionDigits(2);

116                                 System.out.println(nFormat.format(c[i])+"-"+nFormat.format(d[i])+"=");

117                             }

118                             else

119                             {

120                                 System.out.println(a[i]+"-"+b[i]+"=");

121                             }

122                         }

123                     }

124             }

125         }

126         else if(cc.equals("Y"))   //包括乘除模块

127         {

128             for(int i=0;i<n;i++)

129             {

130                 int m=(int)(Math.random()*100);

131                 if(m%2==0)                         //偶数则打印加减

132                 {    

133                     int j=(int)(Math.random()*100);

134                     if(j%2==0)            //偶数打印加法

135                     {

136                         System.out.println(a[i]+"+"+b[i]+"=");

137                     }                    

138                     else                  //否则打印减法

139                     {

140                         if(fs.equals("N"))   //减法没有负数

141                         {

142                             if(a[i]>b[i])

143                             {

144                                 System.out.println(a[i]+"-"+b[i]+"=");

145                             }    

146                             else

147                             {

148                                 System.out.println(b[i]+"-"+a[i]+"=");

149                             }

150                         }

151                         else

152                         {

153                             System.out.println(a[i]+"-"+b[i]+"=");

154                         }

155                     }    

156                 }

157                 else

158                 {

159                     int l=(int)(Math.random());

160                     if(l%2==0)

161                     {

162                         System.out.println(a[i]+"x"+b[i]+"=");

163                     }

164                     else

165                     {

166                         System.out.println(a[i]+"÷"+b[i]+"=");

167                     }

168                 }

169             }

170         }

171     }

172 }

测试结果:
四则运算
四则运算
四则运算
 
  
个人心得:写这个感觉自己晕晕哒的~~~,因为我在里面实在是用了很多if,else,eles-if,导致很多时候把自己弄得头都大了。看了别人的代码,发现自己写的真的太烂了,代码冗余,算法复杂....,以后还得多加努力!!!因为一些原因导致没有按时上交,非常抱歉迟交了!!!在这里保证以后会按时完成!!!!!!

你可能感兴趣的:(四则运算)