Java实验四GUI简易计算器.docx

上传人:lao****ou 文档编号:602138 上传时间:2024-02-27 格式:DOCX 页数:13 大小:54.81KB
下载 相关 举报
Java实验四GUI简易计算器.docx_第1页
第1页 / 共13页
Java实验四GUI简易计算器.docx_第2页
第2页 / 共13页
Java实验四GUI简易计算器.docx_第3页
第3页 / 共13页
Java实验四GUI简易计算器.docx_第4页
第4页 / 共13页
Java实验四GUI简易计算器.docx_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Java实验四GUI简易计算器.docx》由会员分享,可在线阅读,更多相关《Java实验四GUI简易计算器.docx(13页珍藏版)》请在第一文库网上搜索。

1、实验四GU1图形界面设计-实验要求1、掌握AWt与SWing的区别与联系;掌握SWing常用图像组件的使用;掌握主要的布局管理器的使用方法;2、了解事件处理机制;掌握SWing常用图像组件的使用;掌握固定菜单和弹出式菜单的创建和使用;二实验内容1、设计并实现一个类似于WindOWS操作系统附件中自带的计算器的一款简单的计算器,要求界面美观,设计合理;带有常用的菜单并实现其功能;能完成加、减、乘、除等简单的计算,在下面写出其核心代码。(1)源代码packagecom.ca1;importjava。awt。*;importjavaoswing0*;importjava。awtadd(show);j

2、p1(add(c);/show.SetEditab1e(fa1se);jp2,add(b7);jp2.add(b8);jp2add(b9);jp2.add(jia);jp2oadd(b4);jp2.add(b5):jp2.add(b6):jp2.add(jian):jp2add(b1);jp2oadd(b2):jp2.add(b3);jp2.add(cheng);jp2.add(equ);jp2.add(b);jp2oadd(point);jp20add(chu):jp2.Set1ayout(newGrid1ayout(4,4,3,3):注册监听show.addAction1istener(t

3、his):jia.addAction1istener(this):jiaoaddAction1istener(this);cheng.addAction1istener(this):chu.addAction1istener(this);equaddAction1istener(this);point.addActio1istener(this);CoaddAction1istener(this);for(inti=0:igetSource()=b2)showosetText(show。getText()+w2w);f1ag=0;ref1ag=0;e1seif(eogetSource()=b3

4、)show.setText(show。getText()+,3);f1ag=0;ref1ag=0:e1seif(egetSource()=b4)(show.setText(show.getText()+4);f1ag=。;ref1ag=0;e1seif(e.getSource()=b5)(show.setText(showogetText()+5);f1ag=0;ref1ag=0;e1seif(e.getSource()=b6)(showosetText(show.getText()+,6,);f1ag=。;ref1ag=0;e1seif(ogetSource()=b7)(show,setTe

5、xt(showogetText()+,7);f1ag=0;ref1ag=;e1seif(eogetSource()=b8)show.setText(show.getText()+8);f1ag=0:ref1ag=0;e1seif(e。getSource()=b9)showosetText(show.getTet()+,9);f1ag=0:ref1ag=0:操作符处理e1seif(e。getSource()=jia)(showosetTet(ShOWogetText()+w+w);f1ag=1:ref1ag=0;e1seif(eogetSource()=jian)(show.setTet(ShO

6、WogetText()+-);f1ag=1:ref1ag=0;e1seif(e.getSource()=cheng)(showosetText(Shoa。getText()+“*);f1ag=1:ref1ag=0;e1seif(e.getSource()=chu)(show.setText(show,getText()+7);f1ag=1:ref1ag=0;e1seif(e.getSource()=point)小数点只能按一次show.setTet(show.getText();f1ag=1:ref1ag=0:)e1seif(e.getSource()=c)showosetText(,w);f

7、1ag=1:ref1ag=0;计算结果并输出e1seStrings=show.getText():1ength()-1)if(socharAt(s。1ength()-1)=/IscharAt(s,s.charAt(s.1ength()-1)=,+iSocharAt(So1ength()-I)=-*)showCSetTeXt(符号不能放最后”);e1seif(socharAt(s.1ength()-1)=,.,&s。charAt(s.1ength()-2)=*.)show.setText(,pointsareboom);e1seshow.setText(w=w+SetSum(s);ref1ag=

8、1;f1ag=1;)privatedoub1eSetSum(Stringst)(if(st。trim()=)return0:实例化用来存放操作数和操作符的栈并清空StackSNUm=newStaCk();Stack(Object)SOD=newStaCk();SNumoremoveA11E1ements();SOpoPemoveA11E1ements():StringSnum=w;doub1e1num=0;chara1=st.charAt(st.1ength()-1);charb1=st。charAt(st.1ength()-2);for(inti=0:i(st.1ength();i+)(ch

9、arc=st。charAt(i);if(c=,Ic=,-f)Inum=Doub1eoparSeDoub1e(Snum);if(S0poempty()SNuiopush(Inum);e1se(switch(char)SOp0peek()case,+:SNumopush(doub1e)SNum.pop()+1num);SOppop();break;case-,:SNumopush(doub1e)SNumopop()-Inum);SOpopop();break:case:SNumopush(doub1e)SNum0pop()*Inum);SOp.pop();break;case/:SNum.push(doub1e)SNum.pop()Inum);SOp.pop();break;)将符号压入栈switch(c)case+:S0ppush(+);break;case,:SOppushbreak;Snum=,w:)e1seif(c=,*IIc=,)(Inum=Doub1eoprseDotb1e(Snum):if(SOp.emptyO)SNum(push(Inum);e1seif(a1=,&b1=,.,)如果是整数,则去掉后面的小数点和showosetTet(String。vtuef(Math.round(Inum):)switch(char)SOp0peek()(caseSNumo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服