java上机 第十一周 任务1 算术测试小软件
/* * 程序头部注释开始 * 程序的版权和版本声明部分 * 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);}}运行结果:
