快速业务通道

Java编写的计算器程序及源代码 - 编程入门网

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

Java编写的计算器程序及源代码

时间:2011-01-24 楼竞

//frame版程序源代码如下,疏漏之处,望批评指正。 //数字分组没有编写,科学型计算器没有编写,其他已经完善。 import java.awt.*; import java.lang.*; import javax.swing.*; import javax.swing.event.*; import java.awt.event.*; import java.text.DecimalFormat; public class Calculator   implements ActionListener { //导入动作监听接口  //设计面板中的单位  JFrame frame;  JTextField textAnswer;  JPanel panel, panel1, panel2, panel3;  JMenuBar mainMenu;  JTextField textMemory;  JLabel labelMemSpace; //labelMemSpace单纯做摆设,控制面板的形状  JButton buttonBk, buttonCe, buttonC;  JButton button[];  JButton buttonMC, buttonMR, buttonMS, buttonMAdd;  JButton buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul,    buttonDiv, buttonMod;  JButton buttonSqrt, buttonDao, buttonEqual;  JMenu editMenu, viewMenu, helpMenu;  JMenuItem copyItem, pasteItem, tItem, sItem, numberGroup, topHelp, aboutCal;  DecimalFormat df; //设置数据输出精度  boolean clickable; //控制当前能否按键  double memoryd; //使用内存中存储的数字  int memoryi;  double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd)  short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算  String copy; //做复制用  JTextArea help; //帮助  JScrollPane scrollHelp;  //构造函数  public Calculator() {   clickable = true;   answerd = 0;   frame = new JFrame("计算器");   df = new DecimalFormat("0.##############"); //设置数据输出精度(对于double型值)   textAnswer = new JTextField(15);   textAnswer.setText("");   textAnswer.setEditable(false);   textAnswer.setBackground(new Color(255, 255, 255));   panel = new JPanel();   frame.getContentPane().add(panel);   panel1 = new JPanel();   panel2 = new JPanel();   panel.setLayout(new BorderLayout());   //设计整个面板   mainMenu = new JMenuBar();   editMenu = new JMenu("编辑(E)");   viewMenu = new JMenu("查看(V)");   helpMenu = new JMenu("帮助(H)");   copyItem = new JMenuItem("  复制(C) Ctrl+C");   copyItem.addActionListener(this);   pasteItem = new JMenuItem("  粘贴(V) Ctrl+V");   pasteItem.addActionListener(this);   editMenu.add(copyItem);   editMenu.add(pasteItem);   tItem = new JMenuItem("●标准型(T)");   tItem.addActionListener(this);   sItem = new JMenuItem("  科学型(S)");   sItem.addActionListener(this);   numberGroup = new JMenuItem("  数字分组(I)");   numberGroup.addActionListener(this);   viewMenu.add(tItem);   viewMenu.add(sItem);   viewMenu.add(numberGroup);   topHelp = new JMenuItem("  帮助主题(H)");   topHelp.addActionListener(this);   help = new JTextArea(5, 20);   scrollHelp = new JScrollPane(help);   help.setEditable(false);   help.append("执行简单计算\n");   help.append("1. 键入计算的第一个数字。\n&qu

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号