练习二:结对练习

练习二:结对练习

  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/

 

你可能感兴趣的:(练习二:结对练习)