第五次作业:封装与测试


  1 1 import java.awt.Dimension;
  2   2 import java.awt.FlowLayout;
  3   3 import java.awt.GridLayout;
  4   4 import java.awt.Toolkit;
  5   5 import java.awt.event.ActionEvent;
  6   6 import java.awt.event.ActionListener;
  7   7 
  8   8 import javax.swing.JButton;
  9   9 import javax.swing.JFrame;
 10  10 import javax.swing.JLabel;
 11  11 import javax.swing.JOptionPane;
 12  12 import javax.swing.JPanel;
 13  13 import javax.swing.JTextField;
 14  14 import javax.swing.Timer;
 15  15 
 16  16 public class Jiemian extends JFrame implements  ActionListener{
 17  17 
 18  18     /**
 19  19      * @param args
 20  20      */
 21  21     Jisuanlei JISUAN=new Jisuanlei();
 22  22     private Timer tmr;
 23  23     String result;
 24  24     int dadui=0;
 25  25     JLabel L1=new JLabel("设置时间:");
 26  26     JLabel L2=new JLabel("实际用时:");
 27  27     JLabel L3=new JLabel("输入你想要的题数(最多1--5):");
 28  28     JLabel L4=new JLabel("你答对的题目数有:");
 29  29     JLabel L5=new JLabel("温馨提示:");
 30  30     JLabel L6=new JLabel("=");
 31  31     JLabel Q1=new JLabel("                      ");
 32  32     JLabel Q2=new JLabel("            ");
 33  33     JLabel Q3=new JLabel("                                            ");
 34  34     JLabel Q4=new JLabel("                          ");
 35  35     JTextField T1=new JTextField(10);
 36  36     JTextField T2=new JTextField(10);
 37  37     JTextField T3=new JTextField(3);
 38  38     JTextField T4=new JTextField(3);
 39  39     JTextField T5=new JTextField(3);
 40  40     JTextField T6=new JTextField(3);
 41  41     JTextField T7=new JTextField(3);
 42  42     JTextField T8=new JTextField(20);
 43  43     JTextField T9=new JTextField(3);
 44  44     
 45  45     JButton B1=new JButton("确定");
 46  46     JButton B5=new JButton("确定");
 47  47     JButton B2=new JButton("出题");
 48  48     JButton B3=new JButton("确定答案!");
 49  49     JButton B4=new JButton("下一题!");
 50  50     
 51  51     
 52  52     
 53  53     
 54  54     
 55  55     public Jiemian(){
 56  56         super("CHENGXU");
 57  57     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 58  58     this.setPreferredSize(new Dimension(300,600));
 59  59     this.getContentPane();
 60  60     this.pack();
 61  61     FlowLayout layout = new FlowLayout(FlowLayout.CENTER,5,20);
 62  62     this.setLayout(layout);
 63  63     this.add(L1);this.add(T1);this.add(B1);this.add(L2);this.add(T2);this.add(Q1);
 64  64     this.add(L3);this.add(T3);this.add(B5);
 65  65     this.add(B2);this.add(B2);
 66  66     this.add(T4);this.add(T5);this.add(T6);this.add(L6);this.add(T7);
 67  67     this.add(B3);this.add(B4);this.add(Q2);
 68  68     this.add(L5);this.add(T8);
 69  69     this.add(L4);this.add(T9);this.add(Q3);
 70  70     
 71  71      B1.addActionListener(this);
 72  72     
 73  73     B2.addActionListener(this);
 74  74  
 75  75     B3.addActionListener(this);
 76  76     Timer tmr = new Timer(1000, this);//间隔1秒
 77  77     this.tmr = tmr;//添加时间
 78  78    B4.addActionListener(this);
 79  79 
 80  80    B5.addActionListener(this);
 81  81     
 82  82     
 83  83     int width = Toolkit.getDefaultToolkit().getScreenSize().width;  //把框在屏幕中间显示
 84  84     int height = Toolkit.getDefaultToolkit().getScreenSize().height;
 85  85     this.setLocation(width / 2 - 300, height / 2 - 200);
 86  86     
 87  87     this.setVisible(true);
 88  88     this.setResizable(false);
 89  89     
 90  90 
 91  91 
 92  92     }
 93  93     
 94  94     
 95  95     
 96  96     
 97  97      public void actionPerformed(ActionEvent e)
 98  98         {
 99  99             if(e.getSource()==B1)//当获取的资源是按钮1时
100 100             {
101 101                 try
102 102                 {
103 103                     T2.setText(String.valueOf(T1.getText()));//在显示时间框里显示以获取的时间
104 104                 
105 105                 int n1=120,n2=5;
106 106                 if(n1<(Integer.parseInt(T2.getText())))
107 107                 {//当设置时间超过120秒,弹出对话框
108 108                     JOptionPane.showMessageDialog(null, "时间不能超过120秒!");
109 109                     this.setVisible(false);
110 110                 }
111 111                 if(n2<(Integer.parseInt(T3.getText())))
112 112                 {//当选择题目个数超过5个,弹出对话框
113 113                     JOptionPane.showMessageDialog(null, "选择题数不能超过五个!");
114 114                     this.setVisible(false);
115 115                 }
116 116                 tmr.start();//开始计时
117 117                 }
118 118                 catch(NullPointerException o)
119 119                 {
120 120 
121 121                 }
122 122                 //suijishu();//调用产生随机数题目
123 123             //    startTime= System.currentTimeMillis(); //获取开始时间
124 124                 T2.setText(String.valueOf(T1.getText()));
125 125             }
126 126             else{
127 127                 int m = Integer.parseInt(T2.getText());
128 128                 m--;
129 129                 T2.setText("" + m);
130 130                 if (m <= 0) 
131 131                 {
132 132                      tmr.stop();
133 133                      JOptionPane.showMessageDialog(null, "超出答题时间!");
134 134                      this.setVisible(false);
135 135                 }
136 136             }    
137 137             
138 138             
139 139             if(e.getSource()==B5)//当获取的资源是按钮1时
140 140             {
141 141                 int num=(int) Double.parseDouble(T3.getText());
142 142                 System.out.println(num);
143 143                 
144 144                 if(5<(Integer.parseInt(T3.getText())))
145 145                 {//当选择题目个数超过5个,弹出对话框
146 146                     JOptionPane.showMessageDialog(null, "选择题数不能超过五个!");
147 147                     this.setVisible(false);
148 148                 }
149 149                 
150 150             }
151 151             
152 152             
153 153             
154 154             
155 155             if(e.getSource()==B2)//当获取的资源是按钮1时
156 156             {
157 157                 int fuhao1=(int) (Math.random()*11/3+1);
158 158                 switch (fuhao1)
159 159                 {
160 160                 case 1:
161 161                 {
162 162                     int leixing=(int) (Math.random()*8/3+1);//1表示整数,2表示分数,3表示阶乘;
163 163                     switch(leixing)
164 164                     {
165 165                     case 1:
166 166                     {
167 167                         /*int shu1=(int) (Math.random()*10+1);
168 168                         int shu2=(int) (Math.random()*10+1);
169 169                         T4.setText(String.valueOf(shu1));
170 170                         T6.setText(String.valueOf(shu2));
171 171                         T5.setText(String.valueOf("+"));
172 172                         result=String.valueOf(shu1+shu2);*/
173 173                         Jisuanlei.Jiahaozhengshuyunsuan( T4,T6, T5, result);
174 174                         if(e.getSource()==B3)
175 175                         {
176 176                             if(result.equals(T7.getText()))
177 177                             {
178 178                                 T8.setText("答案正确!");
179 179                             }
180 180                             else
181 181                                 T8.setText("答案错误!正确答案是"+result);
182 182                             dadui++;
183 183                         }
184 184                         
185 185                     }break;
186 186                     case 2:
187 187                     {
188 188                         /*int shu1=(int) (Math.random()*10+1);
189 189                         int shu2=(int) (Math.random()*10+1);
190 190                         int shu3=(int) (Math.random()*10+1);
191 191                         int shu4=(int) (Math.random()*10+1);
192 192                         if(shu1>shu2)
193 193                         {
194 194                             int temp=shu1;
195 195                             shu1=shu2;
196 196                             shu2=temp;
197 197                         }
198 198                         if(shu3>shu4)
199 199                         {
200 200                             int temp=shu3;
201 201                             shu3=shu4;
202 202                             shu4=temp;
203 203                         }
204 204                         
205 205                         T4.setText(String.valueOf(shu1+"/"+shu2));
206 206                         T6.setText(String.valueOf(shu3+"/"+shu4));
207 207                         T5.setText(String.valueOf("+"));
208 208                         int res1=(shu1*shu4)+(shu2*shu3);
209 209                         int res2=shu2*shu4;
210 210                         int pan=0;
211 211                         if(res1>res2)
212 212                         {
213 213                              pan=res2;
214 214                         }
215 215                         else
216 216                         {
217 217                              pan=res1;
218 218                         }
219 219                         for(int i=pan;i>0;i--)
220 220                         {
221 221                             if(res1%pan==0&&res2%pan==0)
222 222                             {
223 223                                 res1=res1/pan;
224 224                                 res2=res2/pan;
225 225                                 if(res1>res2)
226 226                                 {
227 227                                      pan=res2;
228 228                                 }
229 229                                 else
230 230                                 {
231 231                                      pan=res1;
232 232                                 }
233 233                                 i=pan;
234 234                             }
235 235                         }
236 236                         
237 237                         result=String.valueOf(shu1+"/"+shu2);*/
238 238                         Jisuanlei.Jiahaofenshuyunsuan( T4,T6, T5, result);
239 239                         if(e.getSource()==B3)
240 240                         {
241 241                             if(result.equals(T7.getText()))
242 242                             {
243 243                                 T8.setText("答案正确!");
244 244                             }
245 245                             else
246 246                                 T8.setText("答案错误!正确答案是"+result);
247 247                             dadui++;
248 248                         }
249 249                     }break;
250 250                     case 3:
251 251                     {
252 252                         
253 253                         /*int shu1=(int) (Math.random()*9+1);
254 254                         int res1=shu1;
255 255                         T6.setText(String.valueOf("!"+shu1));
256 256                         for(int i=shu1-1;i>0;i--)
257 257                         {
258 258                              res1=res1*i;
259 259                         }
260 260                         result=String.valueOf(res1);*/
261 261                         Jisuanlei.Jiahaojieshengyunsuan( T4,T6, T5, result);
262 262                         if(e.getSource()==B3)
263 263                         {
264 264                             if(result.equals(T7.getText()))
265 265                             {
266 266                                 T8.setText("答案正确!");
267 267                             }
268 268                             else
269 269                                 T8.setText("答案错误!正确答案是"+result);
270 270                             dadui++;
271 271                         }
272 272                     }break;
273 273                     
274 274                     }
275 275                     
276 276                 }break;
277 277                 case 2:
278 278                 {
279 279                     int leixing=(int) (Math.random()*8/3+1);//1表示整数,2表示分数,3表示阶乘;
280 280                     switch(leixing)
281 281                     {
282 282                     case 1:
283 283                     {
284 284                         /*int shu1=(int) (Math.random()*10+1);
285 285                         int shu2=(int) (Math.random()*10+1);
286 286                         T4.setText(String.valueOf(shu1));
287 287                         T6.setText(String.valueOf(shu2));
288 288                         T5.setText(String.valueOf("-"));
289 289                         result=String.valueOf(shu1-shu2);*/
290 290                         Jisuanlei.Jianhaozhengshuyunsuan(T4,T6,T5,result);
291 291                         if(e.getSource()==B3)
292 292                         {
293 293                             if(result.equals(T7.getText()))
294 294                             {
295 295                                 T8.setText("答案正确!");
296 296                             }
297 297                             else
298 298                                 T8.setText("答案错误!正确答案是"+result);
299 299                             dadui++;
300 300                         }
301 301                     }break;
302 302                     case 2:
303 303                     {
304 304                         /*int shu1=(int) (Math.random()*10+1);
305 305                         int shu2=(int) (Math.random()*10+1);
306 306                         int shu3=(int) (Math.random()*10+1);
307 307                         int shu4=(int) (Math.random()*10+1);
308 308                         if(shu1>shu2)
309 309                         {
310 310                             int temp=shu1;
311 311                             shu1=shu2;
312 312                             shu2=temp;
313 313                         }
314 314                         if(shu3>shu4)
315 315                         {
316 316                             int temp=shu3;
317 317                             shu3=shu4;
318 318                             shu4=temp;
319 319                         }
320 320                         
321 321                         T4.setText(String.valueOf(shu1+"/"+shu2));
322 322                         T6.setText(String.valueOf(shu3+"/"+shu4));
323 323                         T5.setText(String.valueOf("-"));
324 324                         int res1=(shu1*shu4)-(shu2*shu3);
325 325                         int res2=shu2*shu4;
326 326                         int pan=0;
327 327                         if(res1>res2)
328 328                         {
329 329                              pan=res2;
330 330                         }
331 331                         else
332 332                         {
333 333                              pan=res1;
334 334                         }
335 335                         for(int i=pan;i>0;i--)
336 336                         {
337 337                             if(res1%pan==0&&res2%pan==0)
338 338                             {
339 339                                 res1=res1/pan;
340 340                                 res2=res2/pan;
341 341                                 if(res1>res2)
342 342                                 {
343 343                                      pan=res2;
344 344                                 }
345 345                                 else
346 346                                 {
347 347                                      pan=res1;
348 348                                 }
349 349                                 i=pan;
350 350                             }
351 351                         }
352 352                         
353 353                         result=String.valueOf(shu1+"/"+shu2);*/
354 354                         Jisuanlei.Jianhaofenshuyunsuan(T4,T6,T5,result);
355 355                         if(e.getSource()==B3)
356 356                         {
357 357                             if(result.equals(T7.getText()))
358 358                             {
359 359                                 T8.setText("答案正确!");
360 360                             }
361 361                             else
362 362                                 T8.setText("答案错误!正确答案是"+result);
363 363                             dadui++;
364 364                         }
365 365                     }break;
366 366                     case 3:
367 367                     {
368 368                         
369 369                         /*int shu1=(int) (Math.random()*9+1);
370 370                         int res1=shu1;
371 371                         T6.setText(String.valueOf("!"+shu1));
372 372                         for(int i=shu1-1;i>0;i--)
373 373                         {
374 374                              res1=res1*i;
375 375                         }
376 376                         result=String.valueOf(res1);*/
377 377                         Jisuanlei.Jianhaofenshuyunsuan(T4,T6,T5,result);
378 378                         if(e.getSource()==B3)
379 379                         {
380 380                             if(result.equals(T7.getText()))
381 381                             {
382 382                                 T8.setText("答案正确!");
383 383                             }
384 384                             else
385 385                                 T8.setText("答案错误!正确答案是"+result);
386 386                             dadui++;
387 387                         }
388 388                     }break;
389 389                     
390 390                     }
391 391                     
392 392                 }break;
393 393                 case 3:
394 394                 {
395 395                     int leixing=(int) (Math.random()*8/3+1);//1表示整数,2表示分数,3表示阶乘;
396 396                     switch(leixing)
397 397                     {
398 398                     case 1:
399 399                     {
400 400                         /*int shu1=(int) (Math.random()*10+1);
401 401                         int shu2=(int) (Math.random()*10+1);
402 402                         T4.setText(String.valueOf(shu1));
403 403                         T6.setText(String.valueOf(shu2));
404 404                         T5.setText(String.valueOf("*"));
405 405                         result=String.valueOf(shu1*shu2);*/
406 406                         Jisuanlei.shenghaozhengshuyunsuan(T4,T6,T5,result);
407 407                         if(e.getSource()==B3)
408 408                         {
409 409                             if(result.equals(T7.getText()))
410 410                             {
411 411                                 T8.setText("答案正确!");
412 412                             }
413 413                             else
414 414                                 T8.setText("答案错误!正确答案是"+result);
415 415                             dadui++;
416 416                         }
417 417                     }break;
418 418                     case 2:
419 419                     {
420 420                         /*int shu1=(int) (Math.random()*10+1);
421 421                         int shu2=(int) (Math.random()*10+1);
422 422                         int shu3=(int) (Math.random()*10+1);
423 423                         int shu4=(int) (Math.random()*10+1);
424 424                         if(shu1>shu2)
425 425                         {
426 426                             int temp=shu1;
427 427                             shu1=shu2;
428 428                             shu2=temp;
429 429                         }
430 430                         if(shu3>shu4)
431 431                         {
432 432                             int temp=shu3;
433 433                             shu3=shu4;
434 434                             shu4=temp;
435 435                         }
436 436                         
437 437                         T4.setText(String.valueOf(shu1+"/"+shu2));
438 438                         T6.setText(String.valueOf(shu4+"/"+shu3));
439 439                         T5.setText(String.valueOf("*"));
440 440                         int res1=(shu1)*(shu3);
441 441                         int res2=shu2*shu4;
442 442                         int pan=0;
443 443                         if(res1>res2)
444 444                         {
445 445                              pan=res2;
446 446                         }
447 447                         else
448 448                         {
449 449                              pan=res1;
450 450                         }
451 451                         for(int i=pan;i>0;i--)
452 452                         {
453 453                             if(res1%pan==0&&res2%pan==0)
454 454                             {
455 455                                 res1=res1/pan;
456 456                                 res2=res2/pan;
457 457                                 if(res1>res2)
458 458                                 {
459 459                                      pan=res2;
460 460                                 }
461 461                                 else
462 462                                 {
463 463                                      pan=res1;
464 464                                 }
465 465                                 i=pan;
466 466                             }
467 467                         }
468 468                         
469 469                         result=String.valueOf(shu1+"/"+shu2);*/
470 470                         Jisuanlei.shenghaofenshuyunsuan(T4,T6,T5,result);
471 471                         if(e.getSource()==B3)
472 472                         {
473 473                             if(result.equals(T7.getText()))
474 474                             {
475 475                                 T8.setText("答案正确!");
476 476                             }
477 477                             else
478 478                                 T8.setText("答案错误!正确答案是"+result);
479 479                             dadui++;
480 480                         }
481 481                     }break;
482 482                     case 3:
483 483                     {
484 484                         
485 485                         /*int shu1=(int) (Math.random()*9+1);
486 486                         int res1=shu1;
487 487                         T6.setText(String.valueOf("!"+shu1));
488 488                         for(int i=shu1-1;i>0;i--)
489 489                         {
490 490                              res1=res1*i;
491 491                         }
492 492                         result=String.valueOf(res1);*/
493 493                         Jisuanlei.shenghaojieshengyunsuan(T4,T6,T5,result);
494 494                         if(e.getSource()==B3)
495 495                         {
496 496                             if(result.equals(T7.getText()))
497 497                             {
498 498                                 T8.setText("答案正确!");
499 499                             }
500 500                             else
501 501                                 T8.setText("答案错误!正确答案是"+result);
502 502                             dadui++;
503 503                         }
504 504                     }break;
505 505                     
506 506                     }
507 507                     
508 508                 }break;
509 509                 case 4:
510 510                 {
511 511                     int leixing=(int) (Math.random()*8/3+1);//1表示整数,2表示分数,3表示阶乘;
512 512                     switch(leixing)
513 513                     {
514 514                     case 1:
515 515                     {
516 516                         /*int shu1=(int) (Math.random()*10+1);
517 517                         int shu2=(int) (Math.random()*10+1);
518 518                         T4.setText(String.valueOf(shu1));
519 519                         T6.setText(String.valueOf(shu2));
520 520                         T5.setText(String.valueOf("/"));
521 521                         result=String.valueOf(shu1/shu2);*/
522 522                         Jisuanlei.chuhaozhengshuyunsuan(T4,T6,T5,result);
523 523                         if(e.getSource()==B3)
524 524                         {
525 525                             if(result.equals(T7.getText()))
526 526                             {
527 527                                 T8.setText("答案正确!");
528 528                             }
529 529                             else
530 530                                 T8.setText("答案错误!正确答案是"+result);
531 531                             dadui++;
532 532                         }
533 533                     }break;
534 534                     case 2:
535 535                     {
536 536                         /*int shu1=(int) (Math.random()*10+1);
537 537                         int shu2=(int) (Math.random()*10+1);
538 538                         int shu3=(int) (Math.random()*10+1);
539 539                         int shu4=(int) (Math.random()*10+1);
540 540                         if(shu1>shu2)
541 541                         {
542 542                             int temp=shu1;
543 543                             shu1=shu2;
544 544                             shu2=temp;
545 545                         }
546 546                         if(shu3>shu4)
547 547                         {
548 548                             int temp=shu3;
549 549                             shu3=shu4;
550 550                             shu4=temp;
551 551                         }
552 552                         
553 553                         T4.setText(String.valueOf(shu1+"/"+shu2));
554 554                         T6.setText(String.valueOf(shu3+"/"+shu4));
555 555                         T5.setText(String.valueOf("/"));
556 556                         int res1=shu1*shu4;
557 557                         int res2=shu2*shu3;
558 558                         int pan=0;
559 559                         if(res1>res2)
560 560                         {
561 561                              pan=res2;
562 562                         }
563 563                         else
564 564                         {
565 565                              pan=res1;
566 566                         }
567 567                         for(int i=pan;i>0;i--)
568 568                         {
569 569                             if(res1%pan==0&&res2%pan==0)
570 570                             {
571 571                                 res1=res1/pan;
572 572                                 res2=res2/pan;
573 573                                 if(res1>res2)
574 574                                 {
575 575                                      pan=res2;
576 576                                 }
577 577                                 else
578 578                                 {
579 579                                      pan=res1;
580 580                                 }
581 581                                 i=pan;
582 582                             }
583 583                         }
584 584                         
585 585                         result=String.valueOf(shu1+"/"+shu2);*/
586 586                         Jisuanlei.chuhaofenshuyunsuan(T4,T6,T5,result);
587 587                         if(e.getSource()==B3)
588 588                         {
589 589                             if(result.equals(T7.getText()))
590 590                             {
591 591                                 T8.setText("答案正确!");
592 592                             }
593 593                             else
594 594                                 T8.setText("答案错误!正确答案是"+result);
595 595                             dadui++;
596 596                         }
597 597                     }break;
598 598                     case 3:
599 599                     {
600 600                         
601 601                         /*int shu1=(int) (Math.random()*9+1);
602 602                         int res1=shu1;
603 603                         T6.setText(String.valueOf("!"+shu1));
604 604                         for(int i=shu1-1;i>0;i--)
605 605                         {
606 606                              res1=res1*i;
607 607                         }
608 608                         result=String.valueOf(res1);*/
609 609                         Jisuanlei.chuhaojieshengyunsuan(T4,T6,T5,result);
610 610                         if(e.getSource()==B3)
611 611                         {
612 612                             if(result.equals(T7.getText()))
613 613                             {
614 614                                 T8.setText("答案正确!");
615 615                             }
616 616                             else
617 617                                 T8.setText("答案错误!正确答案是"+result);
618 618                             dadui++;
619 619                         }
620 620                     }break;
621 621                     
622 622                     }
623 623                     
624 624                 }break;
625 625                 }
626 626                 
627 627             }
628 628         
629 629         
630 630         
631 631         }
632 632      
633 633     
634 634     
635 635     
636 636     
637 637     
638 638     public static void main(String[] args) {
639 639         // TODO Auto-generated method stub
640 640         new Jiemian();
641 641         
642 642 
643 643     }
644 644 
645 645 }
主界面等程序代码
  1 1 import javax.swing.JButton;
  2   2 import javax.swing.JTextField;
  3   3 
  4   4 
  5   5 public class Jisuanlei {
  6   6 
  7   7     /**
  8   8      * @param args
  9   9      */
 10  10 /*    public static void main(String[] args) {
 11  11         // TODO Auto-generated method stub
 12  12         
 13  13 
 14  14     }
 15  15 */
 16  16     Jisuanlei (){};
 17  17      static void Jiahaozhengshuyunsuan(JTextField T4,JTextField T6,JTextField T5,String result) {
 18  18         int shu1=(int) (Math.random()*10+1);
 19  19         int shu2=(int) (Math.random()*10+1);
 20  20         T4.setText(String.valueOf(shu1));
 21  21         T6.setText(String.valueOf(shu2));
 22  22         T5.setText(String.valueOf("+"));
 23  23         result=String.valueOf(shu1+shu2);
 24  24         
 25  25         
 26  26     }
 27  27     static void Jiahaofenshuyunsuan(JTextField T4,JTextField T6,JTextField T5,String result) {
 28  28         int shu1=(int) (Math.random()*10+1);
 29  29         int shu2=(int) (Math.random()*10+1);
 30  30         int shu3=(int) (Math.random()*10+1);
 31  31         int shu4=(int) (Math.random()*10+1);
 32  32         if(shu1>shu2)
 33  33         {
 34  34             int temp=shu1;
 35  35             shu1=shu2;
 36  36             shu2=temp;
 37  37         }
 38  38         if(shu3>shu4)
 39  39         {
 40  40             int temp=shu3;
 41  41             shu3=shu4;
 42  42             shu4=temp;
 43  43         }
 44  44         
 45  45         T4.setText(String.valueOf(shu1+"/"+shu2));
 46  46         T6.setText(String.valueOf(shu3+"/"+shu4));
 47  47         T5.setText(String.valueOf("+"));
 48  48         int res1=(shu1*shu4)+(shu2*shu3);
 49  49         int res2=shu2*shu4;
 50  50         int pan=0;
 51  51         if(res1>res2)
 52  52         {
 53  53              pan=res2;
 54  54         }
 55  55         else
 56  56         {
 57  57              pan=res1;
 58  58         }
 59  59         for(int i=pan;i>0;i--)
 60  60         {
 61  61             if(res1%pan==0&&res2%pan==0)
 62  62             {
 63  63                 res1=res1/pan;
 64  64                 res2=res2/pan;
 65  65                 if(res1>res2)
 66  66                 {
 67  67                      pan=res2;
 68  68                 }
 69  69                 else
 70  70                 {
 71  71                      pan=res1;
 72  72                 }
 73  73                 i=pan;
 74  74             }
 75  75         }
 76  76         
 77  77         result=String.valueOf(shu1+"/"+shu2);
 78  78         
 79  79         
 80  80     }
 81  81     
 82  82     static void Jiahaojieshengyunsuan(JTextField T4,JTextField T6,JTextField T5,String result) {
 83  83         int shu1=(int) (Math.random()*9+1);
 84  84         int res1=shu1;
 85  85         T6.setText(String.valueOf("!"+shu1));
 86  86         for(int i=shu1-1;i>0;i--)
 87  87         {
 88  88              res1=res1*i;
 89  89         }
 90  90         result=String.valueOf(res1);
 91  91     
 92  92     }
 93  93     
 94  94     static void Jianhaozhengshuyunsuan(JTextField T4,JTextField T6,JTextField T5,String result) {
 95  95     int shu1=(int) (Math.random()*10+1);
 96  96     int shu2=(int) (Math.random()*10+1);
 97  97     T4.setText(String.valueOf(shu1));
 98  98     T6.setText(String.valueOf(shu2));
 99  99     T5.setText(String.valueOf("-"));
100 100     result=String.valueOf(shu1-shu2);
101 101     }
102 102     
103 103     static void Jianhaofenshuyunsuan(JTextField T4,JTextField T6,JTextField T5,String result) {
104 104         int shu1=(int) (Math.random()*10+1);
105 105         int shu2=(int) (Math.random()*10+1);
106 106         int shu3=(int) (Math.random()*10+1);
107 107         int shu4=(int) (Math.random()*10+1);
108 108         if(shu1>shu2)
109 109         {
110 110             int temp=shu1;
111 111             shu1=shu2;
112 112             shu2=temp;
113 113         }
114 114         if(shu3>shu4)
115 115         {
116 116             int temp=shu3;
117 117             shu3=shu4;
118 118             shu4=temp;
119 119         }
120 120         
121 121         T4.setText(String.valueOf(shu1+"/"+shu2));
122 122         T6.setText(String.valueOf(shu3+"/"+shu4));
123 123         T5.setText(String.valueOf("-"));
124 124         int res1=(shu1*shu4)-(shu2*shu3);
125 125         int res2=shu2*shu4;
126 126         int pan=0;
127 127         if(res1>res2)
128 128         {
129 129              pan=res2;
130 130         }
131 131         else
132 132         {
133 133              pan=res1;
134 134         }
135 135         for(int i=pan;i>0;i--)
136 136         {
137 137             if(res1%pan==0&&res2%pan==0)
138 138             {
139 139                 res1=res1/pan;
140 140                 res2=res2/pan;
141 141                 if(res1>res2)
142 142                 {
143 143                      pan=res2;
144 144                 }
145 145                 else
146 146                 {
147 147                      pan=res1;
148 148                 }
149 149                 i=pan;
150 150             }
151 151         }
152 152         
153 153         result=String.valueOf(shu1+"/"+shu2);
154 154     }
155 155     
156 156     static void Jianhaojieshengyunsuan(JTextField T4,JTextField T6,JTextField T5,String result) {
157 157         int shu1=(int) (Math.random()*9+1);
158 158         int res1=shu1;
159 159         T6.setText(String.valueOf("!"+shu1));
160 160         for(int i=shu1-1;i>0;i--)
161 161         {
162 162              res1=res1*i;
163 163         }
164 164         result=String.valueOf(res1);
165 165     }
166 166     
167 167     static void shenghaozhengshuyunsuan(JTextField T4,JTextField T6,JTextField T5,String result) {
168 168         int shu1=(int) (Math.random()*10+1);
169 169         int shu2=(int) (Math.random()*10+1);
170 170         T4.setText(String.valueOf(shu1));
171 171         T6.setText(String.valueOf(shu2));
172 172         T5.setText(String.valueOf("*"));
173 173         result=String.valueOf(shu1*shu2);
174 174     }
175 175     
176 176     static void shenghaofenshuyunsuan(JTextField T4,JTextField T6,JTextField T5,String result) {
177 177         int shu1=(int) (Math.random()*10+1);
178 178         int shu2=(int) (Math.random()*10+1);
179 179         int shu3=(int) (Math.random()*10+1);
180 180         int shu4=(int) (Math.random()*10+1);
181 181         if(shu1>shu2)
182 182         {
183 183             int temp=shu1;
184 184             shu1=shu2;
185 185             shu2=temp;
186 186         }
187 187         if(shu3>shu4)
188 188         {
189 189             int temp=shu3;
190 190             shu3=shu4;
191 191             shu4=temp;
192 192         }
193 193         
194 194         T4.setText(String.valueOf(shu1+"/"+shu2));
195 195         T6.setText(String.valueOf(shu4+"/"+shu3));
196 196         T5.setText(String.valueOf("*"));
197 197         int res1=(shu1)*(shu3);
198 198         int res2=shu2*shu4;
199 199         int pan=0;
200 200         if(res1>res2)
201 201         {
202 202              pan=res2;
203 203         }
204 204         else
205 205         {
206 206              pan=res1;
207 207         }
208 208         for(int i=pan;i>0;i--)
209 209         {
210 210             if(res1%pan==0&&res2%pan==0)
211 211             {
212 212                 res1=res1/pan;
213 213                 res2=res2/pan;
214 214                 if(res1>res2)
215 215                 {
216 216                      pan=res2;
217 217                 }
218 218                 else
219 219                 {
220 220                      pan=res1;
221 221                 }
222 222                 i=pan;
223 223             }
224 224         }
225 225         
226 226         result=String.valueOf(shu1+"/"+shu2);
227 227     }
228 228     
229 229     static void shenghaojieshengyunsuan(JTextField T4,JTextField T6,JTextField T5,String result) {
230 230         int shu1=(int) (Math.random()*9+1);
231 231         int res1=shu1;
232 232         T6.setText(String.valueOf("!"+shu1));
233 233         for(int i=shu1-1;i>0;i--)
234 234         {
235 235              res1=res1*i;
236 236         }
237 237         result=String.valueOf(res1);
238 238     }
239 239     
240 240     static void chuhaozhengshuyunsuan(JTextField T4,JTextField T6,JTextField T5,String result) {
241 241         int shu1=(int) (Math.random()*10+1);
242 242         int shu2=(int) (Math.random()*10+1);
243 243         T4.setText(String.valueOf(shu1));
244 244         T6.setText(String.valueOf(shu2));
245 245         T5.setText(String.valueOf("/"));
246 246         result=String.valueOf(shu1/shu2);
247 247     }
248 248     
249 249     static void chuhaofenshuyunsuan(JTextField T4,JTextField T6,JTextField T5,String result) {
250 250         int shu1=(int) (Math.random()*10+1);
251 251         int shu2=(int) (Math.random()*10+1);
252 252         int shu3=(int) (Math.random()*10+1);
253 253         int shu4=(int) (Math.random()*10+1);
254 254         if(shu1>shu2)
255 255         {
256 256             int temp=shu1;
257 257             shu1=shu2;
258 258             shu2=temp;
259 259         }
260 260         if(shu3>shu4)
261 261         {
262 262             int temp=shu3;
263 263             shu3=shu4;
264 264             shu4=temp;
265 265         }
266 266         
267 267         T4.setText(String.valueOf(shu1+"/"+shu2));
268 268         T6.setText(String.valueOf(shu3+"/"+shu4));
269 269         T5.setText(String.valueOf("/"));
270 270         int res1=shu1*shu4;
271 271         int res2=shu2*shu3;
272 272         int pan=0;
273 273         if(res1>res2)
274 274         {
275 275              pan=res2;
276 276         }
277 277         else
278 278         {
279 279              pan=res1;
280 280         }
281 281         for(int i=pan;i>0;i--)
282 282         {
283 283             if(res1%pan==0&&res2%pan==0)
284 284             {
285 285                 res1=res1/pan;
286 286                 res2=res2/pan;
287 287                 if(res1>res2)
288 288                 {
289 289                      pan=res2;
290 290                 }
291 291                 else
292 292                 {
293 293                      pan=res1;
294 294                 }
295 295                 i=pan;
296 296             }
297 297         }
298 298         
299 299         result=String.valueOf(shu1+"/"+shu2);
300 300     }
301 301     
302 302     static void chuhaojieshengyunsuan(JTextField T4,JTextField T6,JTextField T5,String result) {
303 303         int shu1=(int) (Math.random()*9+1);
304 304         int res1=shu1;
305 305         T6.setText(String.valueOf("!"+shu1));
306 306         for(int i=shu1-1;i>0;i--)
307 307         {
308 308              res1=res1*i;
309 309         }
310 310         result=String.valueOf(res1);
311 311     }
312 312     
313 313     
314 314     
315 315 
316 316 }
计算类代码 

开发环境:eclipse

结对同伴 :40 孔德颖

同伴博客:http://www.cnblogs.com/kong21/p/4469634.html

程序介绍:

  1.第一阶段目标 - 把计算的功能封装成类。

  2.设计测试用例:用白盒与黑盒测试设计技术,为计算核心设计测试用例。

  3.在实验环境中(如MyEclipse集成开发环境+Junit测试框架)运行测试用例,分析测试结果,找出程序问题,给出改进前后的代码对照。

注:为了对比,被封装后的代码在原程序中并没有删除,只是屏蔽了而已。

原文地址:https://www.cnblogs.com/Lingchao/p/4468568.html