public class AutoScore extends Applet {
//private static final long serialVersionUID = 1L;
java.awt.Button btnNew = new java.awt.Button();
Button button2 = new Button();
Label lblA = new Label();
Label lblOp = new Label();
Label lblB = new Label();
Label label5 = new Label();
TextField txtAnswer = new TextField();
List listDisp = new List(0);
public void init() {
setLayout(null);
setSize(380, 266);
btnNew.setLabel("出题");
add(btnNew);
btnNew.setBackground(java.awt.Color.lightGray);
btnNew.setBounds(36, 96, 98, 26);
button2.setLabel("判分");
add(button2);
button2.setBackground(Color.lightGray);
button2.setBounds(216, 96, 94, 25);
lblA.setText("A");
add(lblA);
lblA.setFont(new Font("Dialog", Font.PLAIN, 24));
lblA.setBounds(36, 24, 36, 36);
lblOp.setText("~");
add(lblOp);
lblOp.setFont(new Font("Dialog", Font.PLAIN, 24));
lblOp.setBounds(72, 24, 36, 36);
lblB.setText("B");
add(lblB);
lblB.setFont(new Font("Dialog", Font.PLAIN, 24));
lblB.setBounds(108, 24, 33, 36);
label5.setText("=");
add(label5);
label5.setFont(new Font("Dialog", Font.PLAIN, 24));
label5.setBounds(168, 24, 34, 36);
add(txtAnswer);
txtAnswer.setFont(new Font("Dialog", Font.PLAIN, 24));
txtAnswer.setBounds(216, 24, 85, 42);
listDisp.setFont(new Font("Dialog", Font.PLAIN, 16));
add(listDisp);
listDisp.setBounds(36, 144, 272, 106);
SymAction lSymAction = new SymAction();
btnNew.addActionListener(lSymAction);
button2.addActionListener(lSymAction);
}
class SymAction implements ActionListener {
public void actionPerformed(ActionEvent event) {
Object object = event.getSource();
if (object == btnNew)
btnNew_ActionPerformed(event);
else
button2_ActionPerformed(event);
}
int a=0,b=0;
String op="";
double result=0;
public void btnNew_ActionPerformed(ActionEvent event) {
a = (int)(Math.random()*9+1);
b = (int)(Math.random()*9+1);
int c = (int)(Math.random()*4);
switch(c) {
case 0: op="+"; result=a+b;break;
case 1: op="-"; result=a-b;break;
case 2: op="*"; result=a*b;break;
case 3: op="/"; result=a/b;break;
}
lblA.setText(""+a);
lblB.setText(""+b);
lblOp.setText(""+op);
txtAnswer.setText("");
}
void button2_ActionPerformed(ActionEvent event) {
String str = txtAnswer.getText();
double d = Double.valueOf(str).doubleValue();
String disp = "" + a + op + b + "=" + str + " ";
if(d == result) disp += "$";
else disp += "#";
listDisp.add(disp);
}
}
public static void main(String[] args) {
Frame f = new Frame();
f.setSize(400,300);
AutoScore p = new AutoScore();
f.add(p);
p.init();
p.start();
f.setVisible(true);
}
}