import java.awt.*;
import java.awt.event.*;
import java.applet.*;public class AutoScore extends Applet implements ActionListener{

public static void main(String args[])
{
Frame frame =new Frame("考试题目");
AutoScore as=new AutoScore();
frame.add(as);
frame.setSize(300,200);
frame.setVisible(true);
} //做好界面,需要用到的控件
Label labela=new Label("");
Label labelb=new Label("");
Label labelop=new Label("");
Label labelDen=new Label("=");
TextField txtResult=new TextField(8);
Button btnNew=new Button("出题");
Button btnKey=new Button("判分");
List listDisp=new List(0);
Button btnExit=new Button("退出");

//构造
public AutoScore(){
setLayout(new FlowLayout());
add(labela);
add(labelop);
add(labelb);
add(labelDen);
add(txtResult);
add(btnNew);
add(btnKey);
add(listDisp);
add(btnExit);
btnNew.addActionListener(this);
btnKey.addActionListener(this);
btnExit.addActionListener(this);
} int a=0;
int b=0;
String op="";
double result=0;

//事件
public void actionPerformed(ActionEvent e){
Object object=e.getSource();
if(object==btnNew){
btnNew_ActionPerformed(e);
}else if(object==btnKey){
btnKey_ActionPerformed(e);
}else if(object==btnExit){
btnExit_ActionPerformed(e);
}
}
//出题
public void btnNew_ActionPerformed(ActionEvent e){
int a=(int)(Math.random()*9+1);
int b=(int)(Math.random()*9+1);
int c=(int)(Math.random()*4+1);

switch(c){
case 1:
op="+";
result=a+b;
break;
case 2:
op="-";
result=a-b;
break;
case 3:
op="*";
result=a*b;
break;
case 4:
op="/";
result=a/b;
break;
}

labela.setText(""+a);
labelb.setText(""+b);
labelop.setText(""+op);

}
//改题
public void btnKey_ActionPerformed(ActionEvent e){
String str=txtResult.getText();
Double d=Double.valueOf(str).doubleValue();
String strList=a+op+b+"="+str+"";
if(d==result){
strList+="★对头";
}else {strList+="☆猪头";}
listDisp.add(strList);
}
//退出
public void btnExit_ActionPerformed(ActionEvent e){
System.exit(0);
}
}================================================================================================
================================================================================================这是个简单的问题,做出来之后,可以出题,也可以判分,只是,有两个没有显示,就像这样..

解决方案 »

  1.   

    import java.awt.*; 
    import java.awt.event.*; 
    import java.applet.*; public class AutoScore extends Applet implements ActionListener{ public static void main(String args[]) 

    Frame frame =new Frame("考试题目"); 
    AutoScore as=new AutoScore(); 
    frame.add(as); 
    frame.setSize(300,200); 
    frame.setVisible(true); 
    } //做好界面,需要用到的控件 
    Label labela=new Label(""); 
    Label labelb=new Label(""); 
    Label labelop=new Label(""); 
    Label labelDen=new Label("="); 
    TextField txtResult=new TextField(8); 
    Button btnNew=new Button("出题"); 
    Button btnKey=new Button("判分"); 
    List listDisp=new List(0); 
    Button btnExit=new Button("退出"); //构造 
    public AutoScore(){ 
    setLayout(new FlowLayout()); 
    add(labela); 
    add(labelop); 
    add(labelb); 
    add(labelDen); 
    add(txtResult); 
    add(btnNew); 
    add(btnKey); 
    add(listDisp); 
    add(btnExit); 
    btnNew.addActionListener(this); 
    btnKey.addActionListener(this); 
    btnExit.addActionListener(this); 
    } int a1=0; 
    int b1=0; 
    String op=""; 
    double result=0; //事件 
    public void actionPerformed(ActionEvent e){ 
    Object object=e.getSource(); 
    if(object==btnNew){ 
    btnNew_ActionPerformed(e); 
    }else if(object==btnKey){ 
    btnKey_ActionPerformed(e); 
    }else if(object==btnExit){ 
    btnExit_ActionPerformed(e); 


    //出题 
    public void btnNew_ActionPerformed(ActionEvent e){ 
    int a=(int)(Math.random()*9+1); 
    int b=(int)(Math.random()*9+1); 
    int c=(int)(Math.random()*4+1); switch(c){ 
    case 1: 
    op="+"; 
    result=a+b; 
    break; 
    case 2: 
    op="-"; 
    result=a-b; 
    break; 
    case 3: 
    op="*"; 
    result=a*b; 
    break; 
    case 4: 
    op="/"; 
    result=a/b; 
    break; 

    a1=a;
    b1=b;
    labela.setText(""+a); 
    labelb.setText(""+b); 
    labelop.setText(""+op);

    //改题 
    public void btnKey_ActionPerformed(ActionEvent e){ 
    String str=txtResult.getText(); 
    double d=Double.valueOf(str).doubleValue(); 
    String strList=a1+op+b1+"="+str+"";  if (d == result){ 
    strList+="★对头";
    }else {strList+="☆猪头";} 
    listDisp.add(strList); 

    //退出 
    public void btnExit_ActionPerformed(ActionEvent e){ 
    System.exit(0); 


      

  2.   

    改一下这个地方public void btnNew_ActionPerformed(ActionEvent e){
    a=(int)(Math.random()*9+1);
    b=(int)(Math.random()*9+1);