当只输入 一个操作数的时候 重置 失效
需要输入两个操作数 才可以
不明白 所以……
谢谢%
import java.awt.*;
import java.awt.event.*;
public class keke extends Frame implements ActionListener
{  Button a1,a2,a3,a4,a5;
TextField text1,text2,text3;
Double a,b;
Frame f1;
  
keke()
{f1=new Frame("简单计算器");
f1.setSize(200,200);
f1.setVisible(true);     Panel pan=new Panel();
     pan.setBackground(Color.cyan);
     
     Panel pan2=new Panel();
     pan2.setBackground(Color.blue);     setLayout(new BorderLayout());
     f1.add("Center",pan);
     f1.add("East",pan2);
     
     Label la=new Label("操作数");
     text1=new TextField(5);
     text1.getText();
     Label lb=new Label("操作数");
     text2=new TextField(5);
     text2.getText();
     Label lc=new Label("结果");
     text3=new TextField(5);
    // text3.setEditable(false);
     a1=new Button ("+");
     a2=new Button ("-");
     a3=new Button ("*");
     a4=new Button ("/");
     a5=new Button ("重置");
   pan.setLayout(new GridLayout(3,2));
  pan.add(la);
  pan.add(text1);
  pan.add(lb);
  pan.add(text2);
  pan.add(lc);
  pan.add(text3);
  pan2.setLayout(new GridLayout(5,1));
  pan2.add(a1);
  pan2.add(a2);
  pan2.add(a3);
  pan2.add(a4);
  pan2.add(a5); a1.addActionListener(this);
 a2.addActionListener(this);
 a3.addActionListener(this);
 a4.addActionListener(this);
 a5.addActionListener(this); 
  
  
  
 
pack();    
   
    
}    
public void actionPerformed(ActionEvent e){
 a=Double.valueOf(text1.getText()).doubleValue();
 b=Double.valueOf(text2.getText()).doubleValue();
  
  
   
    if(e.getSource()==a1)
      {text3.setText(String.valueOf(a+b));}
      
    if(e.getSource()==a2)
    {text3.setText(String.valueOf(a-b));}
    
    if(e.getSource()==a3)
     {text3.setText(String.valueOf(a*b));}
     
    if(e.getSource()==a4)
     {text3.setText(String.valueOf(a/b));}
  
    if(e.getSource()==a5)
    { 
      text1.setText("");
      text2.setText("");
      text3.setText(""); }
  
  
}public static void main(String args[])
{new keke();}}

解决方案 »

  1.   


    import java.awt.BorderLayout;
    import java.awt.Button;
    import java.awt.Color;
    import java.awt.Frame;
    import java.awt.GridLayout;
    import java.awt.Label;
    import java.awt.Panel;
    import java.awt.TextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;public class keke extends Frame implements ActionListener
    {    Button a1, a2, a3, a4, a5;
        TextField text1, text2, text3;
        Double    a, b;
        Frame     f1;    keke()
        {        f1 = new Frame("简单计算器");
            f1.setSize(200, 200);
            f1.setVisible(true);        Panel pan = new Panel();
            pan.setBackground(Color.cyan);        Panel pan2 = new Panel();
            pan2.setBackground(Color.blue);        setLayout(new BorderLayout());
            f1.add("Center", pan);
            f1.add("East", pan2);        Label la = new Label("操作数");
            text1 = new TextField(5);
            text1.getText();
            Label lb = new Label("操作数");
            text2 = new TextField(5);
            text2.getText();
            Label lc = new Label("结果");
            text3 = new TextField(5);
            // text3.setEditable(false);
            a1 = new Button("+");
            a2 = new Button("-");
            a3 = new Button("*");
            a4 = new Button("/");
            a5 = new Button("重置");        pan.setLayout(new GridLayout(3, 2));
            pan.add(la);
            pan.add(text1);
            pan.add(lb);
            pan.add(text2);
            pan.add(lc);
            pan.add(text3);
            pan2.setLayout(new GridLayout(5, 1));
            pan2.add(a1);
            pan2.add(a2);
            pan2.add(a3);
            pan2.add(a4);
            pan2.add(a5);        a1.addActionListener(this);
            a2.addActionListener(this);
            a3.addActionListener(this);
            a4.addActionListener(this);
            a5.addActionListener(this);        pack();    }    public void actionPerformed(ActionEvent e)    {
            if(!(text1.getText().trim().equals("") && text2.getText().trim().equals("")))
            {
                
                a = Double.valueOf(text1.getText()).doubleValue();
                b = Double.valueOf(text2.getText()).doubleValue();            if (e.getSource() == a1)
                {
                    text3.setText(String.valueOf(a + b));
                }
        
                if (e.getSource() == a2)
                {
                    text3.setText(String.valueOf(a - b));
                }
        
                if (e.getSource() == a3)
                {
                    text3.setText(String.valueOf(a * b));
                }
        
                if (e.getSource() == a4)
                {
                    text3.setText(String.valueOf(a / b));
                }
        
                if (e.getSource() == a5)
                {
                    text1.setText("");
                    text2.setText("");
                    text3.setText("");
                }        }
        }    public static void main(String args[])
        {        new keke();    }}
      

  2.   

    public void actionPerformed(ActionEvent e){     if (e.getSource() == a5){
                text1.setText("");
                text2.setText("");
                text3.setText("");
            }
        
            if(!(text1.getText().trim().equals("") && text2.getText().trim().equals(""))){
             try{
                a = Double.valueOf(text1.getText()).doubleValue();
                b = Double.valueOf(text2.getText()).doubleValue();

                if (e.getSource() == a1){
                    text3.setText(String.valueOf(a + b));
                }else if (e.getSource() == a2){
                    text3.setText(String.valueOf(a - b));
                }else if (e.getSource() == a3){
                    text3.setText(String.valueOf(a * b));
                }else if (e.getSource() == a4){
                    text3.setText(String.valueOf(a / b));
                }
             }catch(Exception ee){
             text3.setText("请输入正确的数字!");
             }
            }
        }这样试试看吧
      

  3.   

    个人
    感觉不错的:
    import java.awt.*;
    import java.awt.event.*;
    public class keke extends Frame implements ActionListener
    {    Button a1, a2, a3, a4, a5,a6;
        TextField text1, text2, text3;
        Double  a, b;
        keke()
        {        super("简单计算器");
            setSize(200, 200);
            setVisible(true);        Panel pan = new Panel();
            pan.setBackground(Color.cyan);        Panel pan2 = new Panel();
            pan2.setBackground(Color.blue);        setLayout(new BorderLayout());
            add("Center", pan);
            add("East", pan2);        Label la = new Label("操作数");
            text1 = new TextField(5);
            
            Label lb = new Label("操作数");
            text2 = new TextField(5);
            
            Label lc = new Label("结果");
            text3 = new TextField(5);
            // text3.setEditable(false);
            a1 = new Button("+");
            a2 = new Button("-");
            a3 = new Button("*");
            a4 = new Button("/");
            a5 = new Button("重置");
            a6 = new Button("退出");        pan.setLayout(new GridLayout(3, 2));
            pan.add(la);
            pan.add(text1);
            pan.add(lb);
            pan.add(text2);
            pan.add(lc);
            pan.add(text3);
            pan2.setLayout(new GridLayout(3, 2));
            pan2.add(a1);
            pan2.add(a2);
            pan2.add(a3);
            pan2.add(a4);
            pan2.add(a5);
            pan2.add(a6);        a1.addActionListener(this);
            a2.addActionListener(this);
            a3.addActionListener(this);
            a4.addActionListener(this);
            a5.addActionListener(this);
            a6.addActionListener(this);
            addWindowListener(new WindowCloser());        pack();    }    public void actionPerformed(ActionEvent e)    {   
                if (e.getSource() == a1)
                {  a = Double.valueOf(text1.getText()).doubleValue();
                   b = Double.valueOf(text2.getText()).doubleValue();
                    text3.setText(String.valueOf(a + b));
                }
        
                if (e.getSource() == a2)
                {   a = Double.valueOf(text1.getText()).doubleValue();
                    b = Double.valueOf(text2.getText()).doubleValue();
                    text3.setText(String.valueOf(a - b));
                }
        
                if (e.getSource() == a3)
                {   a = Double.valueOf(text1.getText()).doubleValue();
                    b = Double.valueOf(text2.getText()).doubleValue();
                    text3.setText(String.valueOf(a * b));
                }
        
                if (e.getSource() == a4)
                {   a = Double.valueOf(text1.getText()).doubleValue();
                    b = Double.valueOf(text2.getText()).doubleValue();
                    text3.setText(String.valueOf(a / b));
                }            if (e.getSource() == a5)
                {
                    text1.setText("");
                    text2.setText("");
                    text3.setText("");
                }
                
                if (e.getSource() == a6)
                { System.exit(0); }
        
                }
    private class WindowCloser extends WindowAdapter
    {
    public void windowClosing(WindowEvent e)
    {
    System.exit(0);
    }
    }    public static void main(String args[])
        {        new keke();    }}