1 package szys;
2 import java.util.Scanner;
3 import java.util.Random;
4 public class szys2
5 {
6
7 public static void main(String[] args)
8 {
9 // TODO 自动生成的方法存根
10 System.out.println("********四则运算*********");
11 System.out.println("******1.加减运算*********");
12 System.out.println("******2.加减乘除运算******");
13 System.out.println("**********************");
14 Scanner n=new Scanner(System.in);
15 System.out.print("请输入运算选项: ");
16 int n1=n.nextInt();
17 switch(n1)
18 {
19 case 1:add();
20 break;
21 case 2:mul();
22 break;
23 }
24 }
25
26 public static void add()
27 { //加减法
28 System.out.println("******加法运算******");
29 int i,count1=0,count2=0;
30 char[] ch={'+','-',};//字符数组
31 int a[][]=new int[10000][3];
32 int b[][]=new int[10000][4];
33 Random r=new Random();
34 Scanner s=new Scanner(System.in);
35 int n1 = 0;
36 System.out.print("请输入算术题的个数: ");
37 int m1=s.nextInt();
38 //System.out.print("请输入每行打印的个数: ");
39 //int m2=s.nextInt();
40 System.out.print("加减是否有负数(1/0):");
41 int c1=s.nextInt();
42 if(c1==1)
43 {
44 System.out.println("请选择数值范围:");
45 int a1=s.nextInt();
46 int a2=s.nextInt();
47 int count=0;
48 System.out.println("******算数如下******");
49 while(count<m1)
50 {
51 boolean m=true;
52 int s1=(r.nextInt(a2-a1+1)+a1);
53 int s2=(r.nextInt(a2-a1+1)+a1);
54 int s3=(r.nextInt(ch.length));
55 for(i=0;i<=count;i++)
56 {
57 if(a[i][0]==s1&&a[i][1]==s2&&a[i][2]==s3)
58 {
59 m=false;
60 }
61 }
62 if(m=true)
63 {
64 a[count][0]=s1;
65 a[count][1]=s2;
66 a[count][2]=s3;
67 }
68 else
69 {
70 count--;
71 }
72 count++;
73 }
74 for(i=0;i<m1;i++)
75 {
76 switch(a[i][2])
77 {
78 case 0:{System.out.print(a[i][0]+"+"+a[i][1]+"="+" ");
79 break;}
80 case 1:{System.out.print(a[i][0]+"-"+a[i][1]+"="+" ");
81 break;}
82 }
83 Scanner s1=new Scanner(System.in);
84 n1=s.nextInt();
85 if(n1==a[i][0]+a[i][1]||n1==a[i][0]-a[i][1])
86 {
87 count1++;
88 }
89 else
90 {
91 b[count2][0]=a[i][0];
92 b[count2][1]=a[i][1];
93 b[count2][2]=a[i][2];
94 b[count2][3]=n1;
95 count2++;
96 }
97 }
98 System.out.println("测试结果如下:");
99 System.out.println("共"+m1+"道题,答对"+count1+"道题,答错"+count2+"道题");
100 System.out.println("错题如下:");
101 for(i=0;i<count2;i++)
102 {
103 switch(b[i][2])
104 {
105 case 0:{System.out.print(b[i][0]+"+"+b[i][1]+"="+b[i][3]+" ");
106 break;}
107 case 1:{System.out.print(b[i][0]+"-"+b[i][1]+"="+b[i][3]+" ");
108 break;}
109 }
110 }
111 }
112 else
113 {
114 System.out.println("请选测数值范围:");
115 int a1=s.nextInt();
116 int a2=s.nextInt();
117 int count=0;
118 while(count<m1)
119 {
120 boolean m=true;
121 int s1=(r.nextInt(a2-a1+1)+a1);
122 int s2=(r.nextInt(a2-a1+1)+a1);
123 int s3=(r.nextInt(ch.length));
124 for(i=0;i<=count;i++)
125 {
126 if(a[i][0]==s1&&a[i][1]==s2&&a[i][2]==s3)
127 {
128 m=false;
129 }
130 }
131 if(m=true)
132 {
133 a[count][0]=s1;
134 a[count][1]=s2;
135 a[count][2]=s3;
136 }
137 else
138 {
139 count--;
140 }
141 count++;
142 }
143 for(i=0;i<m1;i++)
144 {
145 switch(a[i][2])
146 {
147 case 0:{System.out.print(a[i][0]+"+"+a[i][1]+"="+" ");
148 break;}
149 case 1:{System.out.print(a[i][0]+"-"+a[i][1]+"="+" ");
150 break;}
151 }
152 n1=s.nextInt();
153 if(n1==a[i][0]+a[i][1]||n1==a[i][0]-a[i][1])
154 {
155 count1++;
156 }
157 else
158 {
159 b[count2][0]=a[i][0];
160 b[count2][1]=a[i][1];
161 b[count2][2]=a[i][2];
162 b[count2][3]=n1;
163 count2++;
164 }
165 }
166 System.out.println("测试结果如下:");
167 System.out.println("共"+m1+"道题,答对"+count1+"道题,答错"+count2+"道题");
168 System.out.println("错题如下:");
169 for(i=0;i<count2;i++)
170 {
171 switch(b[i][2])
172 {
173 case 0:{System.out.print(b[i][0]+"+"+b[i][1]+"="+b[i][3]+" ");
174 break;}
175 case 1:{System.out.print(b[i][0]+"-"+b[i][1]+"="+b[i][3]+" ");
176 break;}
177 }
178 }
179 }
180 }
181
182 public static void mul()
183 { //乘除法
184 System.out.println("******乘除法运算******");
185 int i,count1=0,count2=0;
186 Random r=new Random();
187 char[] ch={'+','-','*','/'};//字符数组
188 int a[][]=new int[10000][3];
189 int b[][]=new int[10000][4];
190 Scanner s=new Scanner(System.in);
191 int n1 = 0;
192 System.out.print("请输入算术题的个数: ");
193 int m1=s.nextInt();
194 //System.out.print("请输入每行打印的个数: ");
195 //int m3=s.nextInt();
196 System.out.print("加减是否有负数(1/0):");
197 int c2=s.nextInt();
198 if(c2==1)
199 {
200 System.out.println("请选测数值范围:");
201 int a1=s.nextInt();
202 int a2=s.nextInt();
203 int count=0;
204 while(count<m1)
205 {
206 boolean m=true;
207 int s1=(r.nextInt(a2-a1+1)+a1);
208 int s2=(r.nextInt(a2-a1+1)+a1);
209 int s3=(r.nextInt(ch.length));
210 for(i=0;i<=count;i++)
211 {
212 if(a[i][0]==s1&&a[i][1]==s2&&a[i][2]==s3)
213 {
214 m=false;
215 }
216 }
217 if(m=true)
218 {
219 a[count][0]=s1;
220 a[count][1]=s2;
221 a[count][2]=s3;
222 }
223 else
224 {
225 count--;
226 }
227 count++;
228 }
229 for(i=0;i<m1;i++)
230 {
231 switch(a[i][2])
232 {
233 case 0:{System.out.print(a[i][0]+"+"+a[i][1]+"="+" ");
234 break;}
235 case 1:{System.out.print(a[i][0]+"-"+a[i][1]+"="+" ");
236 break;}
237 case 2:{System.out.print(a[i][0]+"*"+a[i][1]+"="+" ");
238 break;}
239 case 3:{System.out.print(a[i][0]+"/"+a[i][1]+"="+" ");
240 break;}
241 }
242 n1=s.nextInt();
243 if(n1==a[i][0]+a[i][1]||n1==a[i][0]-a[i][1]||n1==a[i][0]*a[i][1]||n1==a[i][0]/a[i][1])
244 {
245 count1++;
246 }
247 else
248 {
249 b[count2][0]=a[i][0];
250 b[count2][1]=a[i][1];
251 b[count2][2]=a[i][2];
252 b[count2][3]=n1;
253 count2++;
254 }
255 }
256 System.out.println("测试结果如下:");
257 System.out.println("共"+m1+"道题,答对"+count1+"道题,答错"+count2+"道题");
258 System.out.println("错题如下:");
259 for(i=0;i<count2;i++)
260 {
261 switch(b[i][2])
262 {
263 case 0:{System.out.print(b[i][0]+"+"+b[i][1]+"="+b[i][3]+" ");
264 break;}
265 case 1:{System.out.print(b[i][0]+"-"+b[i][1]+"="+b[i][3]+" ");
266 break;}
267 case 2:{System.out.print(b[i][0]+"*"+b[i][1]+"="+b[i][3]+" ");
268 break;}
269 case 3:{System.out.print(b[i][0]+"/"+b[i][1]+"="+b[i][3]+" ");
270 break;}
271 }
272 }
273
274 }
275 else
276 {
277 System.out.println("请选测数值范围:");
278 int a1=s.nextInt();
279 int a2=s.nextInt();
280 int count=0;
281 while(count<m1)
282 {
283 boolean m=true;
284 int s1=(r.nextInt(a2-a1+1)+a1);
285 int s2=(r.nextInt(a2-a1+1)+a1);
286 int s3=(r.nextInt(ch.length));
287 for(i=0;i<=count;i++)
288 {
289 if(a[i][0]==s1&&a[i][1]==s2&&a[i][2]==s3)
290 {
291 m=false;
292 }
293 }
294 if(m=true)
295 {
296 a[count][0]=s1;
297 a[count][1]=s2;
298 a[count][2]=s3;
299 }
300 else
301 {
302 count--;
303 }
304 count++;
305 }
306 for(i=0;i<m1;i++)
307 {
308 switch(a[i][2])
309 {
310 case 0:{System.out.print(a[i][0]+"+"+a[i][1]+"="+" ");
311 break;}
312 case 1:{System.out.print(a[i][0]+"-"+a[i][1]+"="+" ");
313 break;}
314 case 2:{System.out.print(a[i][0]+"*"+a[i][1]+"="+" ");
315 break;}
316 case 3:{System.out.print(a[i][0]+"/"+a[i][1]+"="+" ");
317 break;}
318 }
319 n1=s.nextInt();
320 if(n1==a[i][0]+a[i][1]||n1==a[i][0]-a[i][1]||n1==a[i][0]*a[i][1]||n1==a[i][0]/a[i][1])
321 {
322 count1++;
323 }
324 else
325 {
326 b[count2][0]=a[i][0];
327 b[count2][1]=a[i][1];
328 b[count2][2]=a[i][2];
329 b[count2][3]=n1;
330 count2++;
331 }
332 }
333 System.out.println("测试结果如下:");
334 System.out.println("共"+m1+"道题,答对"+count1+"道题,答错"+count2+"道题");
335 System.out.println("错题如下:");
336 for(i=0;i<count2;i++)
337 {
338 switch(b[i][2])
339 {
340 case 0:{System.out.print(b[i][0]+"+"+b[i][1]+"="+b[i][3]+" ");
341 break;}
342 case 1:{System.out.print(b[i][0]+"-"+b[i][1]+"="+b[i][3]+" ");
343 break;}
344 case 2:{System.out.print(b[i][0]+"*"+b[i][1]+"="+b[i][3]+" ");
345 break;}
346 case 3:{System.out.print(b[i][0]+"/"+b[i][1]+"="+b[i][3]+" ");
347 break;}
348 }
349 }
350 }
351 }
352 }