- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java课程设计模拟计算器
一、课设内容模拟计算器:设计实现一个模拟计算器,能进行整数的加、减、乘、除等四则运算。二、需求分析如题,要求能实现整数的加、减、乘、除等四则运算,我在这个基础上,添加了其他一些常用的功能,如实现百分号%、进行开根号运算、进行1/x运算、以及最小化到托盘。三.总体设计要实现该计算器,主要有两个主要模块,第一个是界面模块用于设计计算器的图形界面,第二个是功能模块用于实现计算器的基本功能。界面模块中除了设计图形界面,还需为各数字、功能按钮及显示框实现监听事物的能力。功能模块中编写事件处理函数,用于实现计算器的功能。因为我还实现了最小化到托盘的程序,所以我用了另一个类写最小化到托盘的程序。四.详细设计4.1 JCalcultor类4.1.1成员变量:JButton[] buttons 用于实现各数字及功能模块的定义。JButton reset用于实现“清零”功能。JTextField display 定义显示框。Int I 用于循环定义各按钮。booleanisFirstDigit用于设置第一个数的输入。double number 用于保存输入的数字。 String operator用于保存输入的按钮。4.1.2成员函数:publicJCalculator()构造函数。publicvoidactionPerformed(ActionEvent e)事件处理函数。 Object target = e.getSource(); target为得到点击的是什么。 String label = e.getActionCommand();if (target == reset)处理各按钮的事件。handleReset();elseif (0123456789..indexOf(label) 0)handleNumber(label);elsehandleOperator(label);public void handleReset()处理点击reset按钮是索要发生的事。display.setText(0);isFirstDigit = true;operator = =;public void handleOperator(String key)处理点击各操作按钮是所要发生的事。 if (operator.equals(+))采用if选择结构。number += Double.valueOf(display.getText());else if (operator.equals(-))number -= Double.valueOf(display.getText());else if (operator.equals(*))number *= Double.valueOf(display.getText());else if (operator.equals(/))number /= Double.valueOf(display.getText());else if (operator.equals(=))number = Double.valueOf(display.getText());else if (operator.equals(%)){number = 0.01*Double.valueOf(display.getText()); }else if (operator.equals(equl)){number = Math.sqrt(Double.valueOf(display.getText())); else if (operator.equals(1/x)){number = 1/ Double.valueOf(display.getText());}public void handleNumber(String key)处理点击各数字按钮时所要发生的事。四.调试分析4.1 界面问题一开始,我只采用了一个panel,后来发现界面容易出错,易被打乱,于是我将各数字和功能按钮放在panel1上,将显示框和清零按钮放在panel2上,再将两个panel放在panel3上,最后将panel放在frame上,从而使界面简洁美观稳定。4.2 功能按钮连续按两下才能实现功能问题原来写的代码是这样,导致按钮必须连续按两下才能实现功能elseif (operator.equals(1/x)){number = Double.valueOf(display.getText());number = 1/number ;发现问题后,我将其改成number = 1/Double.valueOf(display.getText());即两句合并成为一句。4.
您可能关注的文档
最近下载
- 福建南平水务发展有限公司招聘笔试题库2025.pdf
- 二月二龙抬头手把手教你寻“龙”传统节日课件PPT.pptx VIP
- 《GB 28263-2024民用爆炸物品生产、销售企业安全管理规程》知识培训.pptx
- 广告学:整合营销沟通视角(第8版) 课件 第1、2章 整合营销沟通视角下的现代广告、 广告导论.pptx
- 地下管线探测项目成果报告书.doc(1).pptx
- 绿色金融对我国碳排放的影响研究.docx VIP
- 绿色税收对碳排放绩效的影响研究.docx VIP
- 延世韩国语单词第一册.pdf
- 黑翅土白蚁降解木质纤维素的生化机理研究-环境生物学专业论文.docx VIP
- 云南政工程资料管理规程.DOC
文档评论(0)