ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:16.57KB ,
资源ID:12326690      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12326690.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用JAVA编写计算器程序模拟Windows计算器.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用JAVA编写计算器程序模拟Windows计算器.docx

1、用JAVA编写计算器程序模拟Windows计算器用JAVA编写计算器程序(模拟Windows计算器)import java.awt.*;import java.awt.event.*;public class Calculation extends WindowAdapter implements ActionListenerdouble dResult=0;double dNowInput=0;double dMemory;int n=0; /记载小数位数int nOperation=1; / 记录运算符类型int nBitsNum=0; /记录总共输入的位数boolean alreadyH

2、aveDot=false; /已经有小数点?boolean keyAvailable=true;boolean alreadyClickedEqueal=false; /是否按下过=?boolean isTempNowInput=false; /是否在计算出结果后直接按运算符将结果赋给了当前输入值?Frame f;Panel p1,p2,p3,p4,p5,p6;TextField tf1,tf2;Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0;Button bDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqu

3、al,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.setResizable(false); f.setLayout(new BorderLayout(3,3); p1=new Panel(new GridLayout(1,3,5,5); /用于存放backspace,ce,c三键 p2=n

4、ew 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(); /用于存放p1,p2 p5=new Panel(new FlowLayout(); p6=new Panel(new FlowLayout(); p4.add(p1); p4.add(p2); tf1=new TextField(35);

5、 /存放显示区 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); 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=n

6、ew 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.addActionListener(this); b8.addActionListener(this); b9.addActionListener(this); b0.addActionList

7、ener(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(.); bNegative=new Button(+/-); bDiv.addActionListener(this); bSqrt.addActionListener(thi

8、s); bMulti.addActionListener(this); bMinus.addActionListener(this); bPercent.addActionListener(this); bPlus.addActionListener(this); bReciprocal.addActionListener(this); bEqual.addActionListener(this); bDot.addActionListener(this); bNegative.addActionListener(this); p2.add(b7); p2.add(b8); p2.add(b9

9、); 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.add(bPlus); p2.add(bEqual); bBackspace=new Button(Backspace); bCE=new Button(

10、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.LIGHT_GRAY); bMC=new Button(MC); bMR=new Button(MR); bMS=new Button(MS

11、); 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.addWindowListener(this); public void actionPerformed(ActionEvent

12、e) /key 0 to 9 if(this.keyAvailable & e.getActionCommand().length()=1 & e.getActionCommand().compareTo(0)=0 & e.getActionCommand().compareTo(9)=0) if(this.isTempNowInput) this.dNowInput=0; this.isTempNowInput=false; this.nBitsNum+; if(this.alreadyHaveDot=false) this.dNowInput=this.dNowInput*10+Doubl

13、e.parseDouble(e.getActionCommand(); else double temp=Double.parseDouble(e.getActionCommand(); for(int i=this.n;i=0) this.dResult=Math.sqrt(this.dResult); tf1.setText(Double.toString(this.dResult); else tf1.setText(函数输入无效); this.keyAvailable=false; else if(this.dNowInput=0) this.dNowInput=Math.sqrt(t

14、his.dNowInput); tf1.setText(Double.toString(this.dNowInput); else tf1.setText(函数输入无效); this.keyAvailable=false; / key 1/x if(this.keyAvailable & e.getActionCommand()=1/x) if(this.dNowInput=0) tf1.setText(除数不能为零); this.keyAvailable=false; else this.dNowInput=1/this.dNowInput; tf1.setText(Double.toStr

15、ing(this.dNowInput); / key = if(this.keyAvailable & e.getActionCommand()=) this.alreadyClickedEqueal=true; switch(this.nOperation) case 1: this.dResult+=this.dNowInput; break; case 2: this.dResult-=this.dNowInput; break; case 3: this.dResult*=this.dNowInput; break; case 4: if(this.dNowInput=0) tf1.s

16、etText(除数不能为零); this.keyAvailable=false; else this.dResult=this.dResult/this.dNowInput; if(this.keyAvailable)tf1.setText(Double.toString(this.dResult); / key MS if(this.keyAvailable & e.getActionCommand()=MS) this.dMemory=this.dNowInput; if(this.dMemory!=0) tf2.setText(M); / key MC if(this.keyAvaila

17、ble & e.getActionCommand()=MC) this.dMemory=0; tf2.setText(); / key MR if(this.keyAvailable & e.getActionCommand()=MR) this.dNowInput=this.dMemory; tf1.setText(Double.toString(this.dNowInput); / key M+ if(this.keyAvailable & e.getActionCommand()=M+) this.dMemory+=this.dNowInput; if(this.dMemory!=0)

18、tf2.setText(M); else tf2.setText(); / key % if(this.keyAvailable & e.getActionCommand()=%) this.dNowInput=(this.dResult*this.dNowInput)/100; tf1.setText(Double.toString(this.dNowInput); / key Backspace if(this.keyAvailable & e.getActionCommand()=Backspace) if(!this.alreadyClickedEqueal) if(this.dNow

19、Input!=0) if(this.alreadyHaveDot) if(this.n=-1) this.alreadyHaveDot=false; this.n=0; else String str,str1; str=tf1.getText(); str1=str.substring(0,this.nBitsNum-1); this.nBitsNum-; this.n+; this.dNowInput=Double.parseDouble(str1); tf1.setText(Double.toString(this.dNowInput); else int temp; temp=(int)(this.dNowInput/10); this.dNowInput=(double)temp; tf1.setText(Double.toString(this.dNowInput); 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