/*
* 程序头部注释开始
* 程序的版权和版本声明部分
* 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);
}
}
运行结果: