瘋狂java实战演义-第2章仿Windows计算器.docVIP

瘋狂java实战演义-第2章仿Windows计算器.doc

  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文档。上传文档
查看更多
瘋狂java实战演义-第2章仿Windows计算器

第2章 仿Windows计算器 2.1 仿Windows计算器概述 Windows计算器,是Windows操作系统自带计算器,,可以帮助用户完成数据的运算,它可分为“标准型”和“科学型”,本章的仿Windows计算器是标准型的Java实现,标准型Windows计算器实现的主要功能有:四则运算;求倒数;求开方;存储计算结果;读取计算结果;累积计算结果。 我们在第一章中,我们实现了一个在控制台进行的五子棋游戏,我们从本章开始将在Swing界面中实现本书的项目。在本章中,我们将使用到JFrame和JPanel两个Swing容器,使用到JTextField和JButton两个Swing容器,使用BorderLayout和GridLayout做两个布局器,以及使用到事件、事件监听器和事件适配器等。 实现一个计算器,界面中需要提供各种输入的按钮,再以这些按钮组成计算器的键盘,用户点击键盘输入值后,就可以将其所输入的值显示到一个文本框中,运算后,再将结果显示到文本框中。计算器的最终效果如图2.1所示。 图 2.1 用Swing制作的计算器 从图2.1中可以看到,我们开发界面的时候,需要提供一个文本框在窗口的最上部,文本框下面再提供各个计算器的按钮。 2.1.1 数学与其它符号介绍 在此计算器中,主要使用的数学运算有加、减、乘、除四则运算,或者对一个正数进行开方,或者对一个非0的数学求倒数,使用到的数学符号有: 加、减、乘、除,对应使用的符号是“+”、“-”、“*”、“/”。 开方与倒数,对应使用的符号是“sqrt”和“1/x”。 求结果使用的数学符号是“=”。 “%”号,如果使用此符号,第二个操作数就等于两数相乘再除以100。 除了用于数学运算的符号,Windows计算器还提供对计算结果做存储、读取、累加、清除等操作,亦有对数字显示框中的数字做退格操作,还可以清除上次计算结果或者全部结果: 使用符号“MC”、“MR”、“MS”、“M+”代表清除存储结果、读取存储结果、保存存储结果和累加存储结果。。。GridLayout布局处理器来进行网格状布局,由于各个计算器按钮都是以网格状分布在界面中的,因此使用GridLayout非常适合。本章计算器的界面布局并不复杂,因此在这里不再详细描述。 2.2 流程描述 用户打开计算器后,在没有关闭计算器之前,可以通过鼠标点击“1”到“9”数字键和点击“+”、“-”、“*”、“/”键去输入要运算结果的算术式,再通过点击“=”、“sqrt”、“1/x”等键去直接获取计算结果,除外,还可以点击“MC”、“MR”、“MS”、“M+”键去清除、读取、保存、累加计算显示框中显示的数字,还有清除上次结果、清除所有结果、退格等操作。从图2.2中可以看出,计算器打开之后,就开始监听用户的鼠标动作,如果输入是关于计算结果或者“MC”、“MR”、“MS”、“M+”、“Backspace”、“CE”、“C”等操作指令,而且没有关闭计算器,就返回计算结果并显示,如果不是,则不计算结果。接下来再继续等待用户的输入。 本章的计算器并没有复杂的流程,只需要简单的操作,返回计算结果等。在实现计算器的过程中,我们需要注意的是,例如已经点击了某个数字,再点击运算符,那么程序需要记录之前选点击的数字,当用户再次点击运算符(非“=”)时,系统就需要将结果显示到文本框中。因此在开发计算器的时候,我们需要注意用户点击的具体顺序。 图 2.2 计算流程 2.3 建立计算器对象 实现一个计算器,我们需要建立一系列的对象来实现,例如,计算界面我们要建立一个界面类,还需要建立一个专门负责处理加、减、乘、除的基本计算类,还需要一个负责处理计算功能的业务类。本小节中只讲解创建这三个基本的类,如果在开发的过程发现可以将一些行为或者属性放置到一个新的对象中,那么可以再建立这些对象来完成需要实现的功能或者操作。 本章主要设计四个类来完成计算器的功能,界面类(CalFrame)—主要用来显示计算器界面,功能类(CalService)—主要用于完成计算器中的逻辑功能,计算工具类(MyMath)—此类是工具类,用于处理大型数字的加减乘除,计算器类(Cal)—用于打开计算器,计算器中各个类的关系如图2.3所示,从图中可以看出,我们的界面类继承了java.swing.JFrame类,计算器类使用了界面类,界面类使用了功能类,功能类使用了MyMath工具类,下面章节将对这些计算器的相关类作详细介绍。 图2.3 计算器类图 2.3.1 MyMath工具类 使用float,double两种浮点基本类型来进行计算,容易损失精度,所以,我们使用一个自己定义了加,减,乘,除方法的类,此类使用BigDecimal来封装基本类型,在不损失精度的同时,也可以进行超大数字的四则运算。为了

文档评论(0)

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

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

1亿VIP精品文档

相关文档