




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目目 录录 1 概 述1 2 系统需求分析1 2.1 系统目标1 2.2 主体功能1 3 系统概要设计2 3.1 系统的功能模块划分2 3.2 系统流程图2 4 系统详细设计2 4.1 主界面模块详细设计2 4.2 事件响应模块详细设计5 5 测 试6 5.1 测试方案6 5.2 测试结果7 6 小 结7 7 参考文献8 源代码 9 1 1 1 概概 述述 近年来随着计算机和网络在社会领域的发展,java 的应用正在不断地走向深入, Java 语言的优良特性使得 Java 应用具有无比的健壮性和可靠性,这也减少了应用 系统的维护费用。Java 对对象技术的全面支持和 Java 平台内嵌的 API 能缩短应用 系统的开发时间并降低成本。Java 的编译一次,到处可运行的特性使得它能够提 供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是 Java 企业应用编程接口为企业计算及电子商务应用系统提供了有关技术和丰富的类库。 本次设计是通过 java 编程技术来设计一个图形界面(GUI)的计算器应用程序, 完成简单的算术运算,该计算器可以实现加法、减法、乘法、除法的简单运算, 也可以实现一些简单的扩展运算。 2 系统需求分析系统需求分析 2.12.1 系统目标系统目标 一个简单的计算器程序。用户可以利用鼠标点击数值或操作符按键完成计算的 输入,计算的结果将被显示在窗口上部的文本框中。 2.22.2 主体功能主体功能 1.按下数字键在文本框上会显示数字,这是计算器最基本的功能。 2.在任何时候按下“+-”键,计算器文本框上的数字置反。 3.上面一个文本框显示计算过程,下面一个文本框显示输入的数字。 4.当按下的运算符号时前面已经按下过运算符号时,下面一个文本框显示上一个 运 算符号以及两个数之间的运算结果。 5.按下清除“C”键,数据被全部清除。 2 3 系统概要设计系统概要设计 3.13.1 系统的功能模块划分系统的功能模块划分 1主界面模块 2事件相应模块 3.23.2 系统流程图系统流程图 4 系统详细设计系统详细设计 4.14.1主界面模块详细设计主界面模块详细设计 顶层容器:ComputerPad 类实现主窗口,顶层容器中包含了 1 个 panel 容器,1 个 resultshow 文本框,1 个 process 文本框。 各组件作用:其中 panel 容器用于放数字按钮,小数点,运算符按钮,清零按 钮,正负转换按钮以及退格按钮。两个文本框一个用于显示输入数据和计算结果, 3 另一个用于显示计算过程。 布局方式: 顶层容器用 BroadLayOut 布局,process 和 resultshow 文本框以及 panel 容器分别放在定岑容器的 noth,center 以及 south 面,panel 容器 用 GridLayOut 布局。 部分代码如下: 数字按钮类:实现数字按钮的定义 public class NumberButton extends Button 运算符按钮类:实现运算符号的定义 public class OperationButton extends Button 主窗口类实现监视器的注册,窗口布局,组件颜色大小等的设置 public class ComputerPad extends Frame implements ActionListener NumberButton numberButton; OperationButton oprationButton; Button 小数点按钮,正负号按钮,退格按钮, 求倒数按钮,等号按钮,清零按钮; Panel panel; JTextField resultShow; JTextField process; String 运算符号=“+“,“-“,“*“,“/“; LinkedList 链表; boolean 是否按下等号=false; public ComputerPad() super(“计算器“); 链表=new LinkedList(); /进行组件的声明,初始化设置,注册监视器 numberButton=new NumberButton10; for(int i=0;i=1) num=num.substring(0,num.length()-1); 链表.set(0,num); resultShow.setText(num); process.setText(“+(String)链表.get(0) ); else 链表.removeLast(); resultShow.setText(“0“); else if(链表.size()=3) String num=(String)链表.getLast(); if(num.length()=1) num=num.substring(0,num.length()-1); 链表.set(2,num); resultShow.setText(num); process.setText(“+(String)链表.get(0)+(String)链表.get(1) +(String)链表.get(2) ); else 17 链表.removeLast(); resultShow.setText(“0“); else if(e.getSource()=正负号按钮) if(链表.size()=1) String number1=(String)链表.getFirst(); try double d=Double.parseDouble(number1); d=-1*d; String str=String.valueOf(d); 链表.set(0,str); resultShow.setText(str); process.setText(str); catch(Exception ee) else if(链表.size()=3) String number2=(String)链表.getLast(); try double d=Double.parseDouble(number2); d=-1*d; String str=String.valueOf(d); 链表.set(2,str); resultShow.setText(str); process.setText(“+(String)链表.get(0)+(String)链表.get(1) +(String)链表.get(2) ); catch(Exception ee) else if(e.getSource()=求倒数按钮) if(链表.size()=1|链表.size()=2) String number1=(String)链表.getFirst(); 18 try double d=Double.parseDouble(number1); d=1.0/d; String str=String.valueOf(d); 链表.set(0,str); resultShow.setText(str); process.setText(str); catch(Exception ee) else if(链表.size()=3) String number2=(String)链表.getLast(); try double d=Double.parseDouble(number2); d=1.0/d; String str=String.valueOf(d); 链表.set(2,str); resultShow.setText(str); process.setText(“+(String)链表.get(0)+(String)链表.get(1) +(String)链表.get(2); catch(E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年泰州市检察系统考试真题
- 2025年凤城市法院系统招聘真题
- 渠道维护知识培训方案课件
- 河道整治河岸护坡施工方案
- 生物课件出售
- 渑池老人护理知识培训班课件
- 智慧物流技术应用-第1篇-洞察与解读
- 学校供热系统改造与升级方案
- 水厂建设项目社会稳定风险评估报告
- 给水工程环境影响评估与控制方案
- 珠宝营业员销售接待流程
- 纪检比武试题答案及
- 形体训练24课件
- INS+2024指南更新要点解读
- 输电线路水泥杆加固防腐施工方案
- 新版医疗器械管理制度零售单体药店
- 学校装饰装修工程施工方案
- 屋面光伏工程施工组织设计
- 山体公园施工方案
- DL-T 5876-2024 水工沥青混凝土应用酸性骨料技术规范
- 胆囊癌完整版本
评论
0/150
提交评论