java上机 第十一周 任务1 算术测试小软件

来源:互联网 发布:企业资质软件下载 编辑:程序博客网 时间:2024/04/30 12:31
/* * 程序头部注释开始   * 程序的版权和版本声明部分   * Copyright (c) 2011, 烟台大学计算机学院学生   * All rights reserved.   * 文件名称:算术测试小软件                        * 作    者:薛广晨                               * 完成日期:2012  年 11 月  07  日   * 版 本号:x1.0               * 对任务及求解方法的描述部分   * 输入描述:  * 问题描述:编写 一个Teacher类负责给出算术题目,*        随机给出两个整数并进行运算,并判断回答者的答案是否正确;*  编写一个GUI类ComputerFrame,回答者可以通过GUI看到题目并给出答案;*  编写一个程序执行入口运行该软件* 程序输出:   * 程序头部的注释结束 */package xue;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class ComputerFrame  extends JFrame implements ActionListener{int flag, x, y;JButton btn1,btn2;  JTextField tf1,tf2,tf3;  JLabel labe1,labe2,labe3; Teacher teacher;    ComputerFrame(){teacher = new Teacher();setLayout(new FlowLayout());  setTitle("ComputerFrame");btn1 = new JButton("获取题目");btn2 = new JButton("确认答案");tf1 = new JTextField(10);tf2 = new JTextField(10);tf3 = new JTextField(10);labe1 = new JLabel("+");labe2 = new JLabel("=");labe3 = new JLabel("你还没有回答呢");add(btn1);add(tf1);add(labe1);add(tf2);add(labe2);add(tf3);add(btn2);add(labe3);tf1.setEditable(false);tf2.setEditable(false);btn1.addActionListener(this);btn2.addActionListener(this);setBounds(100, 100, 500, 120);  setVisible(true);  validate(); }public void actionPerformed(ActionEvent e) {if(e.getSource() == btn1){while(true){teacher.getQuestion();x = teacher.getX();y = teacher.getY();flag = teacher.getflag();labe3.setText("你还没有回答呢");tf3.setText(null);if(y != 0 && flag != 4)break;}switch(flag)  {  case 1:labe1.setText("+");break;  case 2:labe1.setText("-");break;  case 3:labe1.setText("*");break;  case 4:labe1.setText("/");break;                 }  tf1.setText(x + "");tf2.setText(y + "");}else if(e.getSource() == btn2){if(tf3.getText().equals(""))labe3.setText("请输入答案");else{double s = 0;int c = 0;try{c = Integer.parseInt(tf3.getText());switch(flag)  {  case 1:s = x + y;break;  case 2:s = x - y;break;  case 3:s = x * y;break;  case 4:s = x / y;break;                 }  if(c == s){labe3.setText("回答正确");}else{labe3.setText("回答错误");}}catch(NumberFormatException event){labe3.setText("请输入数字");//JOptionPane.showMessageDialog(null, "格式不正确", "提示信息",JOptionPane.DEFAULT_OPTION );}}}}}//Teacher类package xue;public class Teacher {private int x;private int y;private int flag;public int getX() {return x;}public int getY() {return y;}public int getflag() {return flag;}public void getQuestion(){x = (int) (Math.random() * 100);y = (int) (Math.random() * 100);flag = (int) (Math.random()*4+1);}}

运行结果: