练习二:结对练习

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

 

posted on 2015-04-13 21:48  41_陈建定  阅读(337)  评论(0编辑  收藏  举报

导航