一.需求和规格说明解析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一.需求和规格说明解析

一. 需求和规格说明 设计内容:设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及C(清除)、CE(全清除)操作。程序运行时,显示一个窗口,等待用户输入,用户可以从鼠标或键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’ 符号后,窗口显示出结果。程序输入不少于5种不同的表达式进行测试。 二. 设计 根据上述的程序的需求和要求,可以知道,该任务是模拟计算器的简单实现,主要是一些界面的处理和一些异常的简单处理! 1.设计思想: 程序结构(如类图),重要的数据结构。该任务涉及到的算法和少,主要是网格布局和异常的处理! 2.设计表示: 类 数据 方法 类名 作用 数据名 作用 方法名 作用 yichang 处理异常如:非法的算术运算非法的输入 无 public String toString() 提示异常语句 Calculator 对计算器的按钮进行布局 container 定义一个容器类的对象 Calculator() addButton() 构造函数 添加按钮函数 layout 布局管理器,不要求其组件大小相同 constraints 使用 GridBagLayout 类布置的组件的约束 displayField 计算结果显示区 lastCommand; 保存+,-,*,/,=命令 start; 开始判断是否为数字的 result; 保存计算结果 InsertAction 对显示区中的内容操作 无 actionPerformed() calculate() main() 监听函数 计算函数 主函数 3.实现注释: 各项功能基本实现。具备了四则运算的功能,以及清除和全清楚。实现了键盘的输入,并在文本区显示。 4.详细设计表示: 首先进行计算机器按钮以及相关区域的布局,所以定义一个类继承Jframe,在该类中声明一些组件。根据任务要求定义一些函数进行数值等的计算。为方便进行按钮的布局,定义函数addButton(),在该函数中声明和定义JButton的对象button以及设置按钮的大小和字体的设置,在相应的组件后加载相应的事件监听。定义类InsertAction从接口 ActionListener中继承相关的函数对发生的事件进行处理,判断发生的是什么事件,以便对发生的事件进行相应的处理。如加、减、乘、除、清零、计算、退格等的处理。如果退格时定义String str=displayField.getText(); 降该串的长度进行逐个减少直至其长度为0 ,if(str.length()0) displayField.setText(str.substring(0,str.length()-1));为实现清零的操作可采用相似的处理方法:displayField.setText(0);定义函数public void calculate(double x) 对输入的数据进行处理,将最终的计算结果返回到显示区域。 三. 调试及测试 在完成该任务的时候最复杂之一当属这些按钮的布局,既要匀称又要美观,每个按钮之间的距离都要经过仔细的计算和估算,反复的更改它们大小以及它们之间的距离。程序的书写与调试的过程中对一些语法和异常现象的处理对我以后的程序编写和学习有很大的指导作用。由于实现的功能比较的简单所以时空效率在该程序中体现不明显,但是应该注意在以后的程序中加强注意时空效率,这对一个成功的快速完美的程序是十分重要的。本程序只是定义了相应的鼠标事件,如果加入键盘事件的输入将会使该计算器的使用更加的方便。另外还可以加入一些复杂的计算,如科学计算,三角函数以及反三角函数的计算,阶乘的运算等等,是该计算器的功能更加的完善。通过Java语言的学习和为时不长的Java课程设计的锻炼,对其产生了更加浓厚的兴趣。特别是网络布局和鼠标事件的使用,更是使我获益匪浅。 四. 使用说明 使用该机算器的主要是以鼠标的操作为主,按相对应的数字按钮和运算操作按钮进行计算。输入的数据是十进制数字,不支持对输入为非数字的计算。 附录 源程序清单: import java.awt.*; //用于创建用户界面和绘制图形图像的所有类 import java.awt.event.*; import javax.swing.*; //轻量级组件 class yichang extends Exception { public String toString() {String str=Infinity; return str; } } public class Calculator extends JFrame { private Co

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档