- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java程序设计课程设计报告
课题: 带函数功能和数制转换功能的计算器
姓名: 张其卿
学号: 201017010139
同组姓名: 谭樟林
专业班级: 计科10101
指导教师: 刘国清
设计时间: 2012.6.8
1, 设计目的:
作为一个计算机科学与技术专业的学生,学习了一个学期的Java程序设计之后,有必要进行一次课程设计。目的在于通过课程设计,使学生能够得到较系统的技能训练,从而巩固和加深对Java 编程的基础理论知识的理解,培养学生综合运用所学理论解决实际问题的能力,使学生成为具有扎实的计算机理论基础和较强的独立动手能力的复合型、应用型人才。
2.系统描述:
计算器是人们日常生活中使用最多的一种运算工具,它可以准确快速的算出各种数据。我们所做的计算器是一种带函数功能和数制转换功能的计算器。在电脑上实现的计算器,虽然它不同于普通的计算器那样便于携带,但是它是所有计算器的雏形。这种计算器能进行简单的加、减、乘、除四则运算,函数计算功能和数制转换功能,使其能实现二进制和十进制之间的转换。并且因为计算器添加了键盘控制功能,使用者可以直接利用键盘操作计算器的程序。这样就可以方便使用者的使用了
设计与分析
1.功能模块的划分:该计算器分为三个模块:一个简单的四则运算模块、一个函数功能模块和一个数制转换功能模块。
2.系统流程图:(翻页)
清
空
3.各模块的实现方法:
1.四则运算模块:
这个模块是加、减、乘、除四项基本运算的功能。如图所示:
打开eclipse 3.7.2,创建一个Function and To String Calculator项目,主要类为Function类
进入设计区,在面板上加入19个JButton组件和一个jTextField组件。修改其属性后,在面板上如图排好序,进入代码编写区,编写19个JButton组件按钮运行所需的代码(代码见后面的代码)。完成后运行程序,用鼠标单击相应的数字键和运算符号键,然后单击
按钮,窗口上方的文本编辑框将会显示计算出来的结果,要将文本编辑框清零,可单击按钮。
2.一个函数功能模块
这个模块是实现sin、cos、tan、atan、log、sqrt等函数的运算功能。过程为在原来的基础上增加8个JButton组件,通过Java自带的数学函数实现数学函数运算功能,如图所示:
3.一个数制转换功能模块
此模块是在原来的基础上增加了数制转换功能,实现十进制和二进制之间的转换。利用单选钮选择文本域中的数制,并将其转换。数制的转换是利用Integer类的方法实现的,其中将十进制转化为二进制是通过toBinaryStringn方法实现的,二进制转化为十进制则是通过parseInt方法实现的。如图所示:
过程为在原来的基础上添加一ButtonGroup组件和二个JradioButton组件。将组件在面板上排好,修改好属性,进入代码编写区写入组件所需的相应代码。完成后运行:在文本域中任意输入某个数字,然后单击
单选钮,文本域中的十进制将变为二进制数;单击
单选钮,文本域中的二进制数将还原成十进制。
4.最后将此计算器做成可以受键盘控制
在模块一中的numberinti方法和signint s方法末端添加代码: this.requestFocustrue;使面板获得焦点。再添加键盘事件响应程序代码。这样用键盘也可以代替的输入,方便了使用者的使用。
4.测试数据
模块一的测试:a 1+1,期望结果为2,测试结果为在jTextField组件框中显示:2。
(b) 10-2,期望结果为8,测试结果为在jTextField组件框中显示:8。
(c) 10 * 10,期望结果为100,测试结果为在jTextField组件框显示:100。
(d) 121/ 11,期望结果为11,测试结果为在jTextField组件框显示:11。
模块二的测试:a 对5求sin的值,期望结果为 -0.9589242746631385测试结果为:-0.9589242746631385
文档评论(0)