jjava语言设计计算器的毕业设计Word文档格式.docx
《jjava语言设计计算器的毕业设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《jjava语言设计计算器的毕业设计Word文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
1.1开发的目的及意义
所谓计算器一般指的就是电子计算器。
计算器能进行数学运算的手持机器,拥有集成电路芯片,但是结构简单,比现代电脑结构简单的多,可以说是第一代的电子计算机也就是电脑,并且功能也比较软弱,但是也较为方便与廉价,可以广泛用于商业交易中,是必备的办公用品之一。
计算器是日常生活中十分便捷有效的工具,能实现加、减、乘、除、开方、求倒数等简单运算的功能。
本论文采用java编程语言实现计算器功能。
该计算器大大的降低了数字计算的难度并且提高了计算的准确度和精确度。
使用简单,适合广大工作人员和中小学生使用。
随着信息时代的步伐加快,越来越多的数据数字需要我们去处理,然而在我们日常生活办公中遇到的一些基本的数字运算,以往简单的口算笔算,然而现在不同了,人们对计算机,手机的依赖越来越高,遇到计算问题不愿用脑去思考,而是交由手机或是电脑来完成。
为了给自己设计一个能够胜任自己学习的工作机会的计算器。
以决定自己通过用所学的知识来编写一个简单的计算器。
本计算器可以进行简单的数学四则运算(加、减、乘、除)但是仅限于十进制下,还可以进行简单的科学计算开方、平方、正弦、余弦、正切、的计算,最多可以输入18位数,可以保存上一次所存的计算结果,C表示初始化,界面主是JSP,后台为Java代码,其操作简便,不仅能锻炼自己的编程能力,还可以根据自己的需要来编写适合自己的计算器。
1.2背景以及现状
随着计算机技术的迅速发展,计算机已成为我们生活不可缺少的部分。
计算机带给我们的方便也越来越明显。
然而,计算器在我们生活的重要性已经渗透在我们生活每个角落,如何设计出更简单,更方便,功能更强大的计算器,已成为一个热门话题。
该计算器是由Java语言所编写的标准计算器,可以进行十进制下的四则运算比如加、减、乘、除、正弦、余弦、正切、指数清零等高中数学中的基本运算。
C表示文本框内数据清除添加了一个选项、进制转化、帮助的主菜单并能实现其功能。
退格表示逐个删除,CE表示全部清除,C表示一次运算完成后,单击“C”按钮即可清除当前的运算结果,再次输入时可开始新的运算,java语言,是目前比较流行的编程语言。
该设计是通过java编程技术来设计的一个图形界面的计算器的应用程序以完成简单的算数运算。
通过这次课程设计,我增强了对java应用的熟练程度,发现问题并及时向老师和同学请教并改正,是我的java知识水平有了更大的提高,同时扩展了我对java知识的进一步了解和认识,强化了我的编程能力。
1.3设计目的及思路
(1)复习巩固java语言的基础知识,进一步加深对java语言的理解和掌控。
通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。
利用JavaApplet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松
(2)课程设计为大家提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机结合起来,锻炼我们的分析解决实际问题的能力。
提高我们适应实际,实践编程的能力。
给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示
(3)培养我们在项目开发中创新意识及能力,通过亲身实践,利用所学编写简单的面向对象程序,提高对面向对象及JAVA语言的理解。
除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。
至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,
给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。
1.4功能模块设计
以下为标准计算器的基本功能:
(1)加法
两个数据进行加操作,可以为小数。
(2)减法
两个数据进行减操作,可以为负数相减。
(3)乘法
两个数相乘操作。
(4)除法
两个数相除操作。
(5)开平方
对任意一个数进行开方运算,可以是小数。
(6)求余
对任意一个数进行求余运算。
(7)倒数
正弦、余弦、正切和余切的运算。
(8)转换
将十进制数转换为二进制以及将二进制转换为十进制。
1.5设计步骤
(1)课程设计任务及要求。
(2)需求分析。
(3)设计思路--工作原理、功能规划。
(4)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注释)、界面等。
(4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。
(5)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。
(6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)
(7)报告按规定排版打印,要求装订平整。
(8)课设报告的装订顺序如下:
封面------目录----正文---附录(代码)
1.6系统功能图
1.7本章小节
通过本章的学习,对该计算器有了初步的了解,标准计算器的概念在你的脑中已初步形成,这次程序设计在设计类的时候。
考虑到了简单明了。
这们设计的优点是:
条理清晰,容易理解,容易修改。
第二章需求分析
2.1设计要求:
由于现代用户更倾向于由鼠标方便操作的图形用户界面,所以我们采用GUI
来实现计算器,并采用Swing组件,AWT事件处理等实现具体功能。
需求分析:
在我们日常生活中,计算开支、收入时,大额数字或是多倍小数的计算都需要计算器的帮助,而在学习一些科目时,也常常要处理数字。
虽然现在的计算器价格比较低廉,但是功能过于简单的不能满足个人需求,功能多的价格较贵,不仅操作不便,很多功能也根本用不到。
所以我们想用自己所学设计开发一个属于自己的简单计算器来完成日常学习生活的需求
2.2系统目标
一个简单的计算器程序。
用户可以利用鼠标点击数值或操作符按键完成计算的输入,计算的结果将被显示在窗口上部的文本框中。
2.3主体功能
(1)使用图形用户界面:
一个文本框;
0-9数字按钮;
加、减、乘、除运算符;
“等于”符号;
复位按钮。
(2)完成整数、实数的四则运算(加、减、乘、除)
(3)通过按钮点击实现数据的复位(清零);
(4)正弦余弦的计算
2.4开发环境
本次设计使用的软件是eclipseSDK。
eclipseSDK是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
Eclipse最初是由IBM公司开发的替代商业软件VisualAgeforJava的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(EclipseFoundation)管理。
2003年,Eclipse3.0选择OSGi服务平台规范为运行时架构。
2007年6月,稳定版3.3发布。
2008年6月发布代号为Ganymede的3.4版。
2009年7月发布代号为GALILEO的3.5版。
Eclipse是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。
IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。
目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。
Eclipse是一个开发源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。
近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。
虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
基于Eclipse的应用程序的突出例子是IBM的WebSphereStudioWorkbench,它构成了IBMJava开发工具系列的基础。
例如,WebSphereStudioApplicationDeveloper添加了对JSP、servlet、EJB、XML、Web服务和数据库访问的支持。
Eclipse的主要组成:
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
EclipseSDK(软件开发者包)是EclipsePlatform、JDT和PDE所生产的组件合并,它们可以一次下载。
这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到EclipsePlatform中的工具。
EclipseSDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。
Eclipse项目生产的软件以CPL发布,第三方组件有各自自身的许可协议。
第三章程序设计
3.1课程设计目的
(1)复习巩固java语言的基础知识,进一步加深对java语言的理解和掌控
(2)课程设计为大家提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机结合起来,锻炼我们的分析解决实际问题的能力。
(3)培养我们在项目开发中创新意识及能力,通过亲身实践,利用所学编写简单的面向对象程序,提高对面向对象及JAVA语言的理解。
3.2计算机面板设计
首先,设计对输入数字的进行转换,不进行转换操作则默认为十进制,然后进行符号转换操作以及正弦函数等,接着可以进行加减乘除等运算,添加“退格”、“C”按钮进行退格和清空操作,清空操作显示“0”,最后在帮助中显示开发人信息。
计算器面板设计
选项
进制转换
帮助
(输出区域)
sqrt
+/-
exp
退格
C
7
8
9
log
/
4
5
6
tan
*
1
2
3
cos
-
.
=
sin
+
3.3.程序设计的基本思路
计算结果显示区设计
privateJTextFielddisplayField
保存+,-,*,/,=命令
privateStringlastCommand
保存计算结果
privatedoubleresult
判断是否为数字的开始
privatebooleanstart
设置布局、为按钮注册事件监听器
publicCalculator()
调用成员方法添加菜单
this.addmyMenu()
按钮的单击事件处理方法
publicvoidactionPerformed(ActionEvente)
退格键的实现方法
if(input.equals("
C"
)){if(str.length()>
0)
displayField.setText(str.substring(0,str.length()-1));
//
清零键的实现方法
input.equals("
CE"
)
displayField.setText("
0"
);
start=true;
3.4本章小结
本章主要讲述的是计算器设计的整个过程,其中包括设计计算器界面主要使用到的控件和各个按钮的功能实现过程,以及整个程序中所使用到的变量,虽然本章表述的设计过程比较详细,但是仍有不足之处,部分变量值的变化没有包含内,需要用户根据自己的需要进行调整。
第四章功能的实现
4.1界面功能
功能及界面设计:
功能1:
按下数字键在液晶平上会显示数字,这时计算器最基本的功能。
功能2:
输入数字后,点击进制转换,可转换成二、八进制;
按“exp”“log”键,则进行e次幂运算和自然对数运算;
按“tan”“cos”“sin”则进行三角函数运算。
功能3:
按“+”“-”“*”“/”分别进行四则运算
功能4:
在任何时候按下“+/-”键,计算器文本框上的数字置反号。
功能5:
第一次按下“运算”键,再按下数字键,将重新输入第二个数字。
再次按下“运算”键,将算出前两个数字运算的结果,然后按下数字,将又重新输入新的数字。
功能6:
按下“C”键向前退格,按下“CE”键,数据被全部清除
功能7:
按下“帮助”键查看制作人信息
功能8:
按下“选项”键,点“退出”键退出
4.2运行调试及讨论分析
(1)刚开始界面
(2)启动计算器:
按键"
选项"
,也可以退出界面。
(3)进制转换:
二进制与八进制之间的相互转换
(4)帮助:
用法sqrt和exp是先输运算符再输数字
(5)7的开方运算:
先按sqrt再按7,然后按“=”号。
(6)e的3平方的运算:
先按exp再按3,最后按“=”
(7)两数相乘45*73=3285.0
(8)退格键
(9)正负号按钮实现
(10)正弦的运算:
45度的正弦值
还可实现加法,减法,除法,余弦、正切、余切和对数等功能。
将代码写好之后检查代码的正确性,检查代码无误后将代码进行调试和运行将会出现一个JavaApplet计算器界面。
在调试过程中可能会出现有界面但是不能运行小程序,那是因为没有初始化小程序,那时我们应该在主函数中将小程序进行初始化,这样小程序才能运行!
在调试和运行完全正确后,我们就可以按照自己的医院将小程序进行简单测试,例如输入一些简单数据分别运行各个按钮结果正确后可以初步确定程序师正确的。
有时候我们还要输入不同范围的值进行测试,可能会发现更多的错误,因为有时候我们定义数据的范围可能会过小或输入数据会越界,到时我们就可以改正以适应更多更大的运算。
有时候我们会不自觉的选择一种最优函数方法尽量将自己的代码简单规范而又不缺少题目所要求的功能,那就要求我们翻阅很多参考书和查阅很多资料。
其实javaApplet图形界面的布局也是我们要讨论的范围,如何使得界面更加美观是我们要探讨的!
有时候我们可能会到书上或网上找到一些满足我们要求的程序代码,在此我们应该取其优秀的简单易理解代码作为我们设计程序的代码,作为初学者参考和借用部分外部程序是不可避免,但是我认为前提我们应该看懂那些程序代码,要知其所以然,那样才达到我们学程序的目的,但不主张完全照搬,否则就会没意义了!
4.4测试存在的问题
该设计目前还不太完整全面,在测试的时候有以下问题:
(1)菜单栏中虽然设计了关闭切换以及最大化最小化,但是其功能并没有很好的实现。
(2)该计算器设计了有关梅村的操作,可是并没有达到预期中的效果。
在进行arqt运算后在输入数据就在文本框中继续输入,不能重新输入。
需要按下清零键才可以继续输入下一个数据再进行运算
4.5本章小结
本章主要介绍了用java创建计算器的部分代码以及运行后的效果图。
运行java计算器以后出现的那个框架图就是我们所说的java图形用户界面(GUI),它是程序与用户进行交流的图像窗口,为应用程序提供一个图形化的界面,程序通过GUI与用户交互,GUI通过事件机制响应用户和程序的交互。
如当用户单击某个按钮时就会产生动作事件,要处理产生的事件,需要在特定的方法中编写处理事件的程序。
这样,当产生某种事件时就会调用处理这种事件的方法,从而实现用户与程序的交互。
另外GUI能使一个应用程序具有与众不同的“外观”与“感觉”。
有了GUI,用户就不用花很多时间去记忆各个键盘序列的功能,从而把更多的时间投入到有效地使用应用程序本身上。
第五章总结
5.1主要困难问题
设计难点1:
布局
计算器的界面虽然是按照系统中的计算器为模型的,但是由于按钮太多,使得计算器的布局就相对的难一点了。
设计难点2:
代码
代码的运用是计算器设计成功的关键所在,每一个按钮上的代码都不一样,不一样的按钮实现的功能也不一样,尤其是小数点和等号的代码,因为这两个按钮关系着整个计算器的运算,计算器能否设计成功就在这两个按钮上了。
而这两个按钮代码的编写既是重点也是难点,稍稍有一点的错误就有能够运算出正确结果。
在编写java计算器时有异常出现。
异常是这次设计中的重点也是一个难点。
任何计算机语言的程序都难免有漏洞,捕获错误最理想的是在编译期间,最好在试图运行程序以前。
Java支持的异常处理功能比其他语言提供的更灵活。
当java程序执行中发生错误时,错误事件对象可能导致的程序运行错误称为异常,异常会输出错误消息,使其知道该如何正确地处理遇到的问题。
当java运行系统在得到一个异常对象时,它将会寻找处理这一异常的代码,找到能够处理这种类型异常的方法后,运行时系统把当前异常对象交给这个方法进行处理,这一过程称为捕获(catch)异常。
如果java运行时系统找不到可以捕获异常的方法,则运行时系统将会终止,相应的java程序也将退出。
这次在java记事本程序用到的就是try,catch来捕获的异常。
设计难点3:
运行结果
运行结果也是难点之一,你的代码编写再正确运行不出结果也是徒劳的,所以代码正确了那也不算是全正确,只有代码和运行结果全都正确那才是真起码的正确呢。
5.2主要收获
这次的程序设计,从一个简单的计算器就可以看出JAVA的程序设计不是那么简单,仅仅是一个小小的计算器,就已经有很多需要注意的问题,一不小心就会出错,还会有很多地方没怎么明白,而计算器的设计是最简单的几个设计其中之一,可见,平时的知识积累是很重要的。
没有知识的积累,再简单的东西也不可能设计出来。
课程设计还让我们练习了动手能力,使我们平时学习的知识得以在实际中应用,不会学死书,活学活用,很大程度上提高了我们的能力,对以后的学习、工作、生活也会有一定的帮助。
通过此次的程序设计,让我了解了JAVA的更多知识,使平时的知识可以运用,更好的理解了JAVA这门课程。
JAVA是一门优秀的编程语言,具有面向对象、与平台无关,安全、稳定和多线程等特点,是目前软件设计中极为健壮的语言。
通过此次的课程设计实践,我们不但进一步理解掌握了课上老师教授的知识,而且通过查找资料学会了课上没有的东西,进一步理解了面向对象的含义,发现了很多它比面向过程突出的地方,第一次接触了图形界面,初步了解了GUI方面的知识。
在实践中我们遇到了很多问题,但我们都努力克服了。
在完成课题的过程中也不断充实了自己,学习到了很多以前没有学习到的知识,收获很大。
最大的收获是在弯完成过程中培养的解决问题的能力,在做项目时必然会遇到困难,会有不会的东西,重要的不是现在会不会,而是遇到问题知道如何找到解决的途径。
还使我对所学知识能够融会贯通,又不断丰富了新知识。
Java计算器设计使得我们对所学的专业课有了更为深刻的认识,使得知识得到了巩固和提高。
5.3本章小结
通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。
这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。
它还让我学会了在网上查阅那些无限的资料。
我深刻地体会到自己所学知识得浅薄,当课程结束以后感觉自己已经掌握了Java的真谛,但是在课程设计中我才发现自己仅仅握了一点皮毛而已,存在的一些问题全暴露出来了。
获得了知识当然是最重要的,另外,通过这次学习,我还结识了很多来自不同