1.编写一个算术测试小软件。程序组成:编写 一个Teacher类负责给出算术题目,随机给出两个整数并进行运算,并判断回答者的答案是否正确;编写一个GUI类ComputerFrame,回答者可以通过GUI看到题目并给出答案;编写一个程序执行入口运行该软件。GUI界面如下所示。
计算类:
import java.awt.FlowLayout;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class ComputerFrame extends JFrame implements ActionListener{
int x,y,flag;
JButton bt01,bt02;
JTextField field1,field2,field3;
JLabel lab1,lab2,lab3;
public ComputerFrame() throws HeadlessException {
super();
// TODO Auto-generated constructor stub
bt01=new JButton("获取题目");
bt02=new JButton("确认答案");
field1=new JTextField(10);
field2=new JTextField(10);
field3=new JTextField(10);
lab1=new JLabel("+");
lab2=new JLabel("=");
lab3=new JLabel("你还没有回答呢");
bt01.addActionListener(this);
bt02.addActionListener(this);
add(bt01);
add(field1);
add(lab1);
add(field2);
add(lab2);
add(field3);
add(bt02);
add(lab3);
setLayout(new FlowLayout());
setBounds(100, 100, 500, 120);
validate();
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
if(arg0.getSource()==bt01)
{
x=(int) (Math.random()*100+Math.random()*10);
y=(int) (Math.random()*100+Math.random()*10);
flag=(int) (Math.random()*4+1);
switch(flag)
{
case 1:lab1.setText("+");break;
case 2:lab1.setText("-");break;
case 3:lab1.setText("*");break;
case 4:lab1.setText("/");break;
default :lab1.setText(flag+"");break;
}
field1.setText(x+"");
field2.setText(y+"");
}
if(arg0.getSource()==bt02)
{
String z=field3.getText();
int sum=Integer.parseInt(z);
switch(flag)
{
case 1:if(sum==x+y)
{
lab3.setText("你回答正确");
}
else
{
lab3.setText("你回答错误");
};break;
case 2:if(sum==x-y)
{
lab3.setText("你回答正确");
}
else
{
lab3.setText("你回答错误");
};break;
case 3:if(sum==x*y)
{
lab3.setText("你回答正确");
}
else
{
lab3.setText("你回答错误");
};break;
case 4:if(sum==x/y)
{
lab3.setText("你回答正确");
}
else
{
lab3.setText("你回答错误");
};break;
default :lab1.setText(flag+"");break;
}
}
}
}
测试类:
public class Testmain {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ComputerFrame com=new ComputerFrame();
// Test2 t2=new Test2();
}
}
![](https://img-my.csdn.net/uploads/201211/06/1352208819_4015.jpg)