快速业务通道

java生成一个简易的计算器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18

java生成一个简易的计算器

时间:2011-03-26 哪热

下面的代码是生成一个简易的计算器。

java生成一个简易的计算器 - 编程入门网

Calculator import java.awt.*; import java.awt.event.*; import javax.swing.*; class CalculatorPanel extends JPanel   implements ActionListener { public CalculatorPanel()   { setLayout(new BorderLayout());    display = new JTextField("0");    display.setEditable(false);    add(display, "North");    JPanel p = new JPanel();    p.setLayout(new GridLayout(4, 4));    String buttons = "789/456*123-0.=+";    for (int i = 0; i < buttons.length(); i++)      addButton(p, buttons.substring(i, i + 1));    add(p, "Center");   }   private void addButton(Container c, String s)   { JButton b = new JButton(s);    c.add(b);    b.addActionListener(this);   }   public void actionPerformed(ActionEvent evt)   { String s = evt.getActionCommand();    if (''0'' <= s.charAt(0) && s.charAt(0) <= ''9''      || s.equals("."))    { if (start) display.setText(s); //是第一个字符      else display.setText(display.getText() + s);      start = false;    }    else    { if (start) //是第一个字符      { if (s.equals("-"))       { display.setText(s); start = false; }       else op = s;      }      else      { double x =         Double.parseDouble(display.getText());       calculate(x);       op = s;       start = true;      }    }   }   public void calculate(double n)   { if (op.equals("+")) arg += n;    else if (op.equals("-")) arg -= n;    else if (op.equals("*")) arg *= n;    else if (op.equals("/")) arg /= n;    else if (op.equals("=")) arg = n;    display.setText("" + arg);   }   private JTextField display;   private double arg = 0;   private String op = "=";   private boolean start = true; } class CalculatorFrame extends JFrame { public CalculatorFrame()   { setTitle("Calculator");    setSize(200, 200);    addWindowListener(new WindowAdapter()      { public void windowClosing(WindowEvent e)       { System.exit(0);       }      } );    Container contentPane = getContentPane();    contentPane.add(new CalculatorPanel());   } } public class Calculator { public static void main(String[] args)   { JFrame frame = new CalculatorFrame();    frame.show();   } }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号