版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、java 课程设计简单图形界面计算器的设计课程名称 java程序设计 选题名称 简单图形界面计算器的设计 专 业 班 级 姓 名 学 号 指导教师 简单图形界面计算器的设计一、设计任务与目标本次java程序设计我的设计任务是设计一个图形界面(gui)的计算器应用程序并且能够完成简单的算术运算。本次任务的基本要求是这个计算器应用程序可以完成十进制的加、减、乘、除、求倒、取余、开方运算,且有小数点、正负号、退格和清零功能。而我要在此基础上添加一项千位符分隔符的功能,即以三位为一级,在输入的一串数字中每三位加入一个逗号,这项功能国际通用,并已经成为惯例,会计记账都用这种方法便于账目核算与管理。gui
2、计算器设计的具体目标:1. 完成十进制的加、减、乘、除、求倒、取余和开方运算;2. 有小数点和正负号加入运算;3. 有退格、复位和清零的功能;4. 有千位符分隔符的功能,即在输入的一串数字中每三位加入一个逗号。二、方案设计与论证1.设计目标的总体分析(1)设计目标的需求分析:计算器是现在一个普遍应用的工具,能够解决许多人工所无法计算的数据,节省大量宝贵的时间。(2)设计目标的功能分析:实现计算器系统的功能,主要有两个功能模块:输入 和 输出。(3)设计原则:基于计算器系统要具有适用性广、操作简便等特点,本系统预计要达到以下几个目标:满足以上的基本功能要求;能够在常见的计算机及其操作系统上运行。
3、2.设计的基本思路利用gui的界面设计,将整个大设计分为三块,分别是数据的输入,运算符功能符的控制和数据的输入输出显示。利用swing控件,数据的输入由09这10个按钮来表示,用“+”、“-”、“*”、“/”、“1/x”、“%”、“sqrt”这7个按钮来表示加、减、乘、除、求倒、取余、开方运算,用“.”和“”这2个按钮来表示小数点和正负号,用“back”、“ce”和“c”这3个按钮来表示退格、复位和清零的功能,数据的输入输出显示由文本字段来表示。将计算器的总体界面设计好后,再将代码分别写入不同的按钮的源程序中。我要完成的一项改进,即添加一个拥有千位符分隔符功能的按钮,按下这个按钮能够在输入的一
4、串数字中每三位加入一个逗号并且显示出来。我要在之前的界面设计的基础上多添加一个按钮“$”来表示千位符分隔符,并且将功能代码写入这个按钮的源程序中。三、程序流程图,程序清单与调用关系1. 程序流程图:2. 程序清单09数据的输入private void jbutton10actionperformed(java.awt.event.actionevent evt) / todo add your handling code here: if(flag = false&!jtextfield1.gettext().equals(0) jtextfield1.settext(jtextfield1.
5、gettext()+1); else jtextfield1.settext(1); flag = false; “+”号的控制private void jbutton19actionperformed(java.awt.event.actionevent evt) / todo add your handling code here: /加号 d1 = double.parsedouble(jtextfield1.gettext(); flag = true; op = +; “-”号的控制private void jbutton18actionperformed(java.awt.even
6、t.actionevent evt) / todo add your handling code here: /减号 d1 = double.parsedouble(jtextfield1.gettext(); flag = true; op = -; “*”号的控制private void jbutton17actionperformed(java.awt.event.actionevent evt) / todo add your handling code here: /乘号 d1 = double.parsedouble(jtextfield1.gettext(); flag = tr
7、ue; op = *; “/”号的控制 private void jbutton16actionperformed(java.awt.event.actionevent evt) / todo add your handling code here: /除号 d1 = double.parsedouble(jtextfield1.gettext(); flag = true; op = /; “%”取余运算private void jbutton24actionperformed(java.awt.event.actionevent evt) / todo add your handling
8、code here: /求余 d1 = double.parsedouble(jtextfield1.gettext(); flag = true; op = %; “.”号的加入private void jbutton14actionperformed(java.awt.event.actionevent evt) / todo add your handling code here: /点号 if(jtextfield1.gettext().equals()|flag = true) jtextfield1.settext(0.); else jtextfield1.settext(jte
9、xtfield1.gettext()+.); flag = false; “”号的加入private void jbutton15actionperformed(java.awt.event.actionevent evt) / todo add your handling code here: /正负号 double d = double.parsedouble(jtextfield1.gettext(); d = 0 - d; jtextfield1.settext(+d); “sqrt”开方运算private void jbutton21actionperformed(java.awt.
10、event.actionevent evt) / todo add your handling code here: /开方 double d = double.parsedouble(jtextfield1.gettext(); jtextfield1.settext(+math.sqrt(d); “1/x”求倒数运算private void jbutton22actionperformed(java.awt.event.actionevent evt) / todo add your handling code here: /求倒数 double d = double.parsedoubl
11、e(jtextfield1.gettext(); if(d=0) jtextfield1.settext(0); else jtextfield1.settext(+(1/d); “=”等号运算private void jbutton23actionperformed(java.awt.event.actionevent evt) / todo add your handling code here: if(op.equals() return; d2 = double.parsedouble(jtextfield1.gettext(); double result = 0; if(op.eq
12、uals(+) result = d1 + d2; else if(op.equals(-) result = d1 - d2; else if(op.equals(*) result = d1 * d2; else if(op.equals(/) result = d1 / d2; if(d2 = 0) result = 0; else if(op.equals(%) result = d1 % d2; if(d2 = 0) result = 0; jtextfield1.settext(+result); flag = true; “back”退格运算private void jbutto
13、n1actionperformed(java.awt.event.actionevent evt) / todo add your handling code here: /if语句判定当前字符串是否为空,若不为空,则将字符串长度减1之后,再赋值给原字符串;否则,将0复制给原字符串。 string s = jtextfield1.gettext(); if(!s.equals() s = s.substring(0,s.length()-1); if(s.equals() s = 0; jtextfield1.settext(s); “ce”复位运算private void jbutton2a
14、ctionperformed(java.awt.event.actionevent evt) / todo add your handling code here: /复位操作 jtextfield1.settext(0); d1 = 0; d2 = 0; op = ; flag = false; “c”清零运算private void jbutton3actionperformed(java.awt.event.actionevent evt) / todo add your handling code here: /清零操作 jtextfield1.settext(0); “$”千位符分隔
15、符运算private void jbutton20actionperformed(java.awt.event.actionevent evt) / todo add your handling code here: /千位符分隔符 d1 = double.parsedouble(jtextfield1.gettext(); flag = true; op = $; decimalformat f = new decimalformat(,#); jtextfield1.settext(+f.format(d1); 3. 程序的调用关系图newjframebackcec=$09+-*/%1/x
16、sqrt.四、全部源程序清单/* calculator.java gui简单计算器 */package javacalculator;/* * * author */import java.awt.datatransfer.*;import java.text.decimalformat;public class newjframe extends javax.swing.jframe /* * creates new form newjframe */ public newjframe() initcomponents(); flag = false; d1 = 0; d2 = 0; op
17、= ; jtextfield1.settext(0); clipboard = gettoolkit().getsystemclipboard(); private clipboard clipboard; private boolean flag; private double d1; private double d2; private string op; suppresswarnings(unchecked) / private void initcomponents() jpanel1 = new javax.swing.jpanel(); jpanel2 = new javax.s
18、wing.jpanel(); jbutton4 = new javax.swing.jbutton(); jbutton5 = new javax.swing.jbutton(); jbutton6 = new javax.swing.jbutton(); jbutton7 = new javax.swing.jbutton(); jbutton8 = new javax.swing.jbutton(); jbutton9 = new javax.swing.jbutton(); jbutton10 = new javax.swing.jbutton(); jbutton11 = new ja
19、vax.swing.jbutton(); jbutton12 = new javax.swing.jbutton(); jbutton13 = new javax.swing.jbutton(); jbutton14 = new javax.swing.jbutton(); jbutton15 = new javax.swing.jbutton(); jbutton16 = new javax.swing.jbutton(); jbutton17 = new javax.swing.jbutton(); jbutton18 = new javax.swing.jbutton(); jbutto
20、n19 = new javax.swing.jbutton(); jbutton20 = new javax.swing.jbutton(); jbutton21 = new javax.swing.jbutton(); jbutton22 = new javax.swing.jbutton(); jbutton23 = new javax.swing.jbutton(); jbutton24 = new javax.swing.jbutton(); jtextfield1 = new javax.swing.jtextfield(); jbutton1 = new javax.swing.j
21、button(); jbutton2 = new javax.swing.jbutton(); jbutton3 = new javax.swing.jbutton(); setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close); jbutton4.settext(7); jbutton4.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) j
22、button4actionperformed(evt); ); jbutton5.settext(8); jbutton5.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton5actionperformed(evt); ); jbutton6.settext(9); jbutton6.addactionlistener(new java.awt.event.actionlistener() public
23、void actionperformed(java.awt.event.actionevent evt) jbutton6actionperformed(evt); ); jbutton7.settext(4); jbutton7.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton7actionperformed(evt); ); jbutton8.settext(5); jbutton8.addacti
24、onlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton8actionperformed(evt); ); jbutton9.settext(6); jbutton9.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton9actionpe
25、rformed(evt); ); jbutton10.settext(1); jbutton10.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton10actionperformed(evt); ); jbutton11.settext(2); jbutton11.addactionlistener(new java.awt.event.actionlistener() public void actio
26、nperformed(java.awt.event.actionevent evt) jbutton11actionperformed(evt); ); jbutton12.settext(3); jbutton12.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton12actionperformed(evt); ); jbutton13.settext(0); jbutton13.addactionli
27、stener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton13actionperformed(evt); ); jbutton14.settext(.); jbutton14.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton14actionpe
28、rformed(evt); ); jbutton15.settext(); jbutton15.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton15actionperformed(evt); ); jbutton16.settext(/); jbutton16.addactionlistener(new java.awt.event.actionlistener() public void action
29、performed(java.awt.event.actionevent evt) jbutton16actionperformed(evt); ); jbutton17.settext(*); jbutton17.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton17actionperformed(evt); ); jbutton18.settext(-); jbutton18.addactionlis
30、tener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton18actionperformed(evt); ); jbutton19.settext(+); jbutton19.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton19actionper
31、formed(evt); ); jbutton20.settext($); jbutton20.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton20actionperformed(evt); ); jbutton21.settext(sqrt); jbutton21.addactionlistener(new java.awt.event.actionlistener() public void act
32、ionperformed(java.awt.event.actionevent evt) jbutton21actionperformed(evt); ); jbutton22.settext(1/x); jbutton22.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton22actionperformed(evt); ); jbutton23.settext(=); jbutton23.addacti
33、onlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton23actionperformed(evt); ); jbutton24.settext(%); jbutton24.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) jbutton24acti
34、onperformed(evt); ); javax.swing.grouplayout jpanel2layout = new javax.swing.grouplayout(jpanel2); jpanel2.setlayout(jpanel2layout); jpanel2layout.sethorizontalgroup( jpanel2layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) .addgroup(jpanel2layout.createsequentialgroup() .addgap(
35、53, 53, 53) .addgroup(jpanel2layout.createparallelgroup(javax.swing.grouplayout.alignment.leading, false) .addcomponent(jbutton20, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, short.max_value) .addgroup(jpanel2layout.createparallelgroup(javax.swing.grouplayout.alignmen
36、t.trailing, false) .addgroup(jpanel2layout.createsequentialgroup() .addcomponent(jbutton13, javax.swing.grouplayout.preferred_size, 50, javax.swing.grouplayout.preferred_size) .addpreferredgap(javax.swing.layoutstyle.componentplacement.related) .addcomponent(jbutton15, javax.swing.grouplayout.prefer
37、red_size, 49, javax.swing.grouplayout.preferred_size) .addpreferredgap(javax.swing.layoutstyle.componentplacement.related) .addcomponent(jbutton14, javax.swing.grouplayout.preferred_size, 50, javax.swing.grouplayout.preferred_size) .addpreferredgap(javax.swing.layoutstyle.componentplacement.unrelate
38、d) .addcomponent(jbutton19) .addpreferredgap(javax.swing.layoutstyle.componentplacement.related) .addcomponent(jbutton23, javax.swing.grouplayout.default_size, javax.swing.grouplayout.default_size, short.max_value) .addgroup(javax.swing.grouplayout.alignment.leading, jpanel2layout.createsequentialgr
39、oup() .addgroup(jpanel2layout.createparallelgroup(javax.swing.grouplayout.alignment.trailing, false) .addgroup(javax.swing.grouplayout.alignment.leading, jpanel2layout.createsequentialgroup() .addcomponent(jbutton4, javax.swing.grouplayout.preferred_size, 50, javax.swing.grouplayout.preferred_size)
40、.addpreferredgap(javax.swing.layoutstyle.componentplacement.related) .addcomponent(jbutton5, javax.swing.grouplayout.preferred_size, 49, javax.swing.grouplayout.preferred_size) .addpreferredgap(javax.swing.layoutstyle.componentplacement.related, javax.swing.grouplayout.default_size, short.max_value)
41、 .addcomponent(jbutton6, javax.swing.grouplayout.preferred_size, 50, javax.swing.grouplayout.preferred_size) .addgroup(javax.swing.grouplayout.alignment.leading, jpanel2layout.createsequentialgroup() .addgroup(jpanel2layout.createparallelgroup(javax.swing.grouplayout.alignment.trailing, false) .addcomponent(jbutton10, javax.swing.grouplayout.default_size, 50, short.max_value) .addcomponent(jbutton7, javax.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第32讲锐角三角函数及其应用(讲义)(原卷版)
- 624届二模化学试题答案
- 2019年高考历史人民版一轮复习练案7辛亥革命
- 高中英语人教版必修3Unit4Astronomythescienceofthestarsperiod5测试(学生版)
- 安全教育主题班会教案
- MTP管理培训闫高峰老师-20211101100801
- 2023-2024学年全国小学四年级上英语人教版期中试卷(含答案解析)
- 第1章-非平衡态热力学4
- 2024年沈阳经营性道路旅客运输驾驶员从业资格考试题库
- 2024年酒店会务合同协议书
- 中国的时尚与时尚产业
- 炊事基础理论知识
- 颅内占位性的病变护理查房课件
- 山东省烟台市芝罘区(五四制)2023-2024学年九年级上学期期末考试物理试题
- 女职工权益维护知识讲座
- DB14∕T 1851-2019 中华鼢鼠防治技术规程
- 2024年风电铸件行业市场研究报告
- 初中英语教学中的情景教学方法
- 中耳胆脂瘤的护理查房
- 高空作业安全防护措施与操作规程
- 财务科廉洁风险点及防控措施【15篇】
评论
0/150
提交评论