资源描述:
《用java编写计算器程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、用JAVA编写计算器程序(模拟Windows计算器)importjava.awt.*;importjava.awt.event.*;publicclassCalculationextendsWindowAdapterimplementsActionListener{ doubledResult=0; doubledNowInput=0; doubledMemory; int n=0;//记载小数位数 int nOperation=1;//记录运算符类型 int nBitsNum=0; //记录总共输入的位数 booleanalreadyHaveDot=
2、false;//已经有小数点? booleankeyAvailable=true; booleanalreadyClickedEqueal=false;//是否按下过"="? booleanisTempNowInput=false;//是否在计算出结果后直接按运算符将结果赋给了当前输入值? Framef; Panelp1,p2,p3,p4,p5,p6; TextFieldtf1,tf2; Buttonb1,b2,b3,b4,b5,b6,b7,b8,b9,b0; ButtonbDiv,bSqrt,bMulti,bMinus,bPercent,bPlus
3、,bReciprocal,bEqual,bDot,bNegative; ButtonbBackspace,bCE,bC,bMR,bMS,bMC,bM; publicvoiddisplay() { f=newFrame("计算器"); f.setSize(280,213); f.setLocation(200,200); f.setBackground(Color.LIGHT_GRAY); f.setResizable(false); f.setLayout(newBorderLayout(3,3)); p1=newPanel(newGridLay
4、out(1,3,5,5)); //用于存放backspace,ce,c三键 p2=newPanel(newGridLayout(4,5,5,5));//用于存放数字区及附近共20键,此处间隙设置可能不合理,以后调整 p3=newPanel(newGridLayout(5,1,5,5));//用于存放MC,MR,MS,M+键及显示M状态文本框,此处间隙设置可能不合理,以后调整 p4=newPanel(newFlowLayout());//用于存放p1,p2 p5=newPanel(newFlowLayout()); p6=newPanel(newFlow
5、Layout()); p4.add(p1); p4.add(p2); tf1=newTextField(35); //存放显示区 tf1.setText("0."); tf1.setEditable(false); p5.add(tf1); f.add(p5,BorderLayout.NORTH); f.add(p4,BorderLayout.CENTER); f.add(p3,BorderLayout.WEST); b1=newButton("1"); b2=newButton("2"); b3=newButton("3"); b4=ne
6、wButton("4"); b5=newButton("5"); b6=newButton("6"); b7=newButton("7"); b8=newButton("8"); b9=newButton("9"); b0=newButton("0"); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); b6.addActi
7、onListener(this); b7.addActionListener(this); b8.addActionListener(this); b9.addActionListener(this); b0.addActionListener(this); bDiv=newButton("/"); bSqrt=newButton("sqrt"); bMulti=newButton("*"); bMinus=newButton("-"); bPercent=newButton("%"); bPlus=newButton("+"); bReciproc
8、al=newButton("1/x"); bEqual=newButton("="); bDo