欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

一个简化的计算器,简化计算器,[Java]代码mpor

来源: javaer 分享于  点击 9091 次 点评:126

一个简化的计算器,简化计算器,[Java]代码mpor


[Java]代码

mport java.awt.*;import java.awt.event.*;import javax.swing.*;public class TestComputer extends JFrame implements ActionListener {    JTextField jtf = new JTextField(10);    private boolean append = false;    private String op1 = "0";    private String operator = "+";    public TestComputer(){        super("计算器");        setSize(400,400);        setLocation(200,300);        setResizable(false);        this.setBackground(Color.lightGray);        this.setDefaultCloseOperation(EXIT_ON_CLOSE);        JPanel panel = new JPanel(new GridLayout(5,4,5,5));//面板采用网格布局       // this.getContentPane().add(panel);       // JTextField jtf = new JTextField(10);        String str[]=         {"sqrt","+/-","Backspace","C","7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};        JButton buttons[] = new JButton[str.length];        for (int i=0; i<buttons.length; i++)        {            buttons[i] = new JButton(str[i]);            panel.add(buttons[i]);            buttons[i].addActionListener(this);      //为按钮注册单击事件监听器        }        this.add(jtf,BorderLayout.NORTH);        this.add(panel,BorderLayout.SOUTH);        this.pack();        this.setVisible(true);    }      public void actionPerformed(ActionEvent e) {        String comn = e.getActionCommand();               //处理数字        if ("0123456789".indexOf(comn) != -1) {            if (append) {// 追加                String temp = jtf.getText();                jtf.setText(temp + comn);            } else {// 替换                jtf.setText(comn);                append = true;            }        }                //处理运算符         else if ("+-*/".indexOf(comn) != -1) {            op1 = jtf.getText();            operator = comn;            append = false;        } else if ("=".indexOf(comn) != -1) {            String op2 = jtf.getText();            double d1 = Double.parseDouble(op1);            double d2 = Double.parseDouble(op2);            if ("+".equals(operator)) {                d1 = d1 + d2;            } else if ("-".equals(operator)) {                d1 = d1 - d2;            } else if ("*".equals(operator)) {                d1 = d1 * d2;            } else if ("/".equals(operator)) {                d1 = d1 / d2;            }            jtf.setText(d1 + "");            append = false;        } else if (".".equals(comn)) {            String temp = jtf.getText();            if (temp.indexOf(".") == -1) {                jtf.setText(temp + ".");                append = true;            }        } else if ("+/-".equals(comn)) {            String temp = jtf.getText();            if (temp.startsWith("-1")) {                jtf.setText(temp.substring(1));            } else {                jtf.setText("-" + temp);            }        } else if ("Backspace".equals(comn)) {            String temp = jtf.getText();            if (temp.length() > 0) {                jtf.setText(temp.substring(0, temp.length() - 1));            }        } else if ("CE".equals(comn) || "C".equals(comn)) {            jtf.setText("0");            append = false;        }    }    public static void main(String arg[])    {        TestComputer c= new TestComputer();    }}
相关栏目:

用户点评