1、TextField tf1,tf2;Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0;Button bDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqual,bDot,bNegative;Button bBackspace,bCE,bC,bMR,bMS,bMC,bM; public void display() f=new Frame(计算器); f.setSize(280,213); f.setLocation(200,200); f.setBackground(Color.LIGHT_GRAY); f.se
2、tResizable(false); f.setLayout(new BorderLayout(3,3); p1=new Panel(new GridLayout(1,3,5,5); /用于存放backspace,ce,c三键 p2=new Panel(new GridLayout(4,5,5,5); /用于存放数字区及附近共20键, 此处间隙设置可能不合理,以后调整 p3=new Panel(new GridLayout(5,1,5,5); /用于存放MC,MR,MS,M+键及显示M状态文本框,此处间隙设置可能不合理,以后调整 p4=new Panel(new FlowLayout(); /
3、用于存放p1,p2 p5=new Panel(new FlowLayout(); p6=new Panel(new FlowLayout(); p4.add(p1); p4.add(p2); tf1=new TextField(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=new Button(1 b2=new Button(2
4、b3=new Button(3 b4=new Button(4 b5=new Button(5 b6=new Button(6 b7=new Button(7 b8=new Button(8 b9=new Button(9 b0=new Button(0 b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); b6.addActionListener(this); b7.a
5、ddActionListener(this); b8.addActionListener(this); b9.addActionListener(this); b0.addActionListener(this); bDiv=new Button(/ bSqrt=new Button(sqrt bMulti=new Button(* bMinus=new Button(- bPercent=new Button(% bPlus=new Button(+ bReciprocal=new Button(1/x bEqual=new Button( bDot=new Button(. bNegati
6、ve=new Button(+/- bDiv.addActionListener(this); bSqrt.addActionListener(this); bMulti.addActionListener(this); bMinus.addActionListener(this); bPercent.addActionListener(this); bPlus.addActionListener(this); bReciprocal.addActionListener(this); bEqual.addActionListener(this); bDot.addActionListener(
7、this); bNegative.addActionListener(this); p2.add(b7); p2.add(b8); p2.add(b9); p2.add(bDiv); p2.add(bSqrt); p2.add(b4); p2.add(b5); p2.add(b6); p2.add(bMulti); p2.add(bPercent); p2.add(b1); p2.add(b2); p2.add(b3); p2.add(bMinus); p2.add(bReciprocal); p2.add(b0); p2.add(bNegative); p2.add(bDot); p2.ad
8、d(bPlus); p2.add(bEqual); bBackspace=new Button(Backspace bCE=new Button(CE bC=new Button(C bBackspace.addActionListener(this); bCE.addActionListener(this); bC.addActionListener(this); p1.add(bBackspace); p1.add(bCE); p1.add(bC); tf2=new TextField(2); tf2.setEnabled(false); tf2.setBackground(Color.L
9、IGHT_GRAY); bMC=new Button(MC bMR=new Button(MR bMS=new Button(MS bM=new Button(M+ bMC.addActionListener(this); bMR.addActionListener(this); bMS.addActionListener(this); bM.addActionListener(this); p6.add(tf2); p3.add(p6); p3.add(bMC); p3.add(bMR); p3.add(bMS); p3.add(bM); f.setVisible(true); f.addW
10、indowListener(this);public void actionPerformed(ActionEvent e) /key 0 to 9 if(this.keyAvailable & e.getActionCommand().length()=1 & e.getActionCommand().compareTo()=0 &)=0) if(this.isTempNowInput)this.dNowInput=0;this.isTempNowInput=false; this.nBitsNum+; if(this.alreadyHaveDot=false) this.dNowInput
11、=this.dNowInput*10+Double.parseDouble(e.getActionCommand(); else double temp=Double.parseDouble(e.getActionCommand(); for(int i=this.n;i this.dResult=Math.sqrt(this.dResult); tf1.setText(Double.toString(this.dResult);函数输入无效 if(this.dNowInput this.dNowInput=Math.sqrt(this.dNowInput); this.dNowInput=1
12、/this.dNowInput; this.alreadyClickedEqueal=true; this.dMemory=this.dNowInput; if(this.dMemory! tf2.setText(M this.dMemory=0; this.dNowInput=this.dMemory; this.dMemory+=this.dNowInput; else tf2.setText( this.dNowInput=(this.dResult*this.dNowInput)/100;if(!this.alreadyClickedEqueal) if(this.dNowInput!
13、 if(this.alreadyHaveDot) if(this.n=-1) String str,str1; str=tf1.getText(); str1=str.substring(0,this.nBitsNum-1); this.nBitsNum-; this.n+; this.dNowInput=Double.parseDouble(str1); int temp; temp=(int)(this.dNowInput/10); this.dNowInput=(double)temp;public static void main(String args) Calculation cal=new Calculation(); cal.display();public void windowClosing(WindowEvent e) System.exit(0);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1