资源描述:
《java编写计算器源代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java编写的计算器程序及源代码//frame版程序源代码如下,疏漏之处,望批评指正。//数字分组没有编写,科学型计算器没有编写,其他已经完善。importjava.awt.*;importjava.lang.*;importjavax.swing.*;importjavax.swing.event.*;importjava.awt.event.*;importjava.text.DecimalFormat;publicclassCalculatorimplementsActionListener{//导入动作监听接口//
2、设计面板中的单位JFrameframe;JTextFieldtextAnswer;JPanelpanel,panel1,panel2,panel3;JMenuBarmainMenu;JTextFieldtextMemory;JLabellabelMemSpace;//labelMemSpace单纯做摆设,控制面板的形状JButtonbuttonBk,buttonCe,buttonC;JButtonbutton[];JButtonbuttonMC,buttonMR,buttonMS,buttonMAdd;JButtonbut
3、tonDot,buttonAddAndSub,buttonAdd,buttonSub,buttonMul,buttonDiv,buttonMod;JButtonbuttonSqrt,buttonDao,buttonEqual;JMenueditMenu,viewMenu,helpMenu;JMenuItemcopyItem,pasteItem,tItem,sItem,numberGroup,topHelp,aboutCal;DecimalFormatdf;//设置数据输出精度booleanclickable;//控制当前能
4、否按键doublememoryd;//使用内存中存储的数字intmemoryi;doublevard,answerd;//用来保存double型数据的中间值(vard)和最后结果(answerd)shortkey=-1,prekey=-1;//key用来保存当前进行何种运算,prekey用来保存前次进行何种运算Stringcopy;//做复制用JTextAreahelp;//帮助JScrollPanescrollHelp;//构造函数publicCalculator(){clickable=true;answerd=0;f
5、rame=newJFrame("计算器");df=newDecimalFormat("0.##############");//设置数据输出精度(对于double型值)textAnswer=newJTextField(15);textAnswer.setText("");textAnswer.setEditable(false);textAnswer.setBackground(newColor(255,255,255));panel=newJPanel();frame.getContentPane().add(panel
6、);panel1=newJPanel();panel2=newJPanel();panel.setLayout(newBorderLayout());//设计整个面板mainMenu=newJMenuBar();editMenu=newJMenu("编辑(E)");viewMenu=newJMenu("查看(V)");helpMenu=newJMenu("帮助(H)");copyItem=newJMenuItem("复制(C)Ctrl+C");copyItem.addActionListener(this);pasteIt
7、em=newJMenuItem("粘贴(V)Ctrl+V");pasteItem.addActionListener(this);editMenu.add(copyItem);editMenu.add(pasteItem);tItem=newJMenuItem("●标准型(T)");tItem.addActionListener(this);sItem=newJMenuItem("科学型(S)");sItem.addActionListener(this);numberGroup=newJMenuItem("数字分组(I)
8、");numberGroup.addActionListener(this);viewMenu.add(tItem);viewMenu.add(sItem);viewMenu.add(numberGroup);topHelp=newJMenuItem("帮助主题(H)");topHelp.addActi