怎样用java编写计算器

解决方案 »

  1.   

    AWT就行啊@自己写个@是在不行我帮你也行@
      

  2.   

    楼主可以参考:
    import java.awt.*;
    import java.awt.event.*;
    public class Computer extends Frame {
    TextField tf = new TextField(20);
    Panel panel = new Panel();
    String[] data = { "Bkap", "CE", "Clr", "+_", "7", "8", "9", "/", "4", "5",
    "6", "*", "1", "2", "3", "-", "0", ".", "=", "+"
    };
    public Computer() {
    add(tf, "North");
    panel.setLayout(new GridLayout(5, 4));
    ComputerMonitor monitor = new ComputerMonitor();
    for (int i = 0; i < 20; i++) {
    Button button = new Button(data[i]);
    button.addActionListener(monitor);
    panel.add(button);
    }
    add(panel);
    setSize(300, 200);
    setTitle("计算器");
    setVisible(true);
    }
    public static void main(String[] args) {
    new Computer();
    }
    class ComputerMonitor implements ActionListener {
    boolean flag = true;
    String first;
    public void actionPerformed(ActionEvent e) {
    String old = tf.getText();
    String command = e.getActionCommand();
    if (command.equals("0") || command.equals("1")
    || command.equals("2") || command.equals("3")
    || command.equals("4") || command.equals("0")
    || command.equals("5") || command.equals("6")
    || command.equals("7") || command.equals("8")
    || command.equals("9")) {
    if (flag) {
    tf.setText(old + command);
    } else {
    tf.setText(command);
    flag = true;
    }
    }
    if (command.equals("+") || command.equals("-")
    || command.equals("*") || command.equals("/"))
    first = old;
    flag = false;
    if (command.equals("=")) {
    int result = Integer.parseInt(first) + Integer.parseInt(old);
    tf.setText(result + "");
    }
    }
    }
    }
    ————————————————————————————————————————————————————————————————————————————————————————————————————————————
    import java.awt.*;
    import java.awt.event.*;public class ComputerMonitor implements ActionListener{
    TextField t;
    public ComputerMonitor(TextField tf){
    this.t=tf;
    }
    public ComputerMonitor(){

    }

    public void actionPerformed(ActionEvent e){
    String command=e.getActionCommand();
    if(command.equals("0")||command.equals("1")||command.equals("2")||command.equals("3")||command.equals("4")||command.equals("0")
    ||command.equals("5")||command.equals("6")||command.equals("7")||command.equals("8")||command.equals("9")    )
    t.setText(command);


    //System.out.println(command);

    }
    }