版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要在当今这个网络的时代,java语言在网络编程方面的优势使得网络编程有了更好的选择。Java语言最大的特点是具有跨平台性,使其不受平台不同的影响,得到了广泛的应用。该程序是一个图形界面的 计算器,其界面主要采用了swing包,程序实现了:(1)实现简单加、减、乘、除的运算。(2)实现除了加、减、乘、除按钮外其他按钮功能。(3)给软件添加一个编辑、查看、帮助的主菜单。(4)在数据输入方面,提高程序代码的健壮性,增强其对非法输入数别能力。(5)科学型计算器与标准计算器之间的菜单切换。Java的早期版本以来,抽象窗口工具包为用户界面组件提供了平台独与此相对,Swing组件经常被描述为轻量级的,因为它们不需要操作本身所带窗口工具包的原生资源来生成。目录第1章概要设计········································································11.1查找资料···········································································11.2选题·················································································11.4本章小节···········································································32.1程序中所用到的变量····························································42.3本章小节·········································································15第3章程序运行效果································································163.1程序运行主界面································································163.3本章小节·········································································204.1设计中遇到的重点·····························································214.3本章小节·········································································235.3本章小节·········································································24结 论················································································25参考文献················································································26致 谢················································································27指导教师评语··········································································28答辩委员会评语·······································································29第1章概要设计1.121世纪,随着社会经济的迅速发展和科学技术的全面进步,人类社代。计算机正以其前所未有的惊人速度向前发展,用软件不断涌现。计算机应用也普及到各行各业、。为了便于对大量信息的处理,运用计算机软件实现自动管理成为了必然的趋势。其实,“计算器”早已有了一个很长的历史,人们从很早就已经开始进行科学计算了,在人类不断探索不断进步的过程中计算器的用途越来越广,计算结果越来越精确,只有精确的结果才能使社会更加进步,使人类更能准确的掌握数据所反应的社会现象,并根据准确的数据反应进一步研究进步,所有计算已经成为人们生活的一个重要工具,对人类来说必不可少。1.2Java程序编辑器是:图形界面、线程、流与文件等技术的综合应用。图形界面的实现:考虑到简单、实用、高效等特点,就选择了Swing来完成实现,在选择组件上,文本编辑区就选用了jTextField作为主要输入输出部件、数字则是选用了SwingComponents内的JButton按钮、简易菜单主要是选用了SwingMenus里面的JMenu控件、菜单内所包含的选项是选用SwingMenus内的JMenuItem和jRadioButtonMenuItem两个控1.3标准型计算器界面设计1.3.1JAVA文件的建立(1)建立一个名称为“proj_jsq”Java工程,在该工程中添加一个类中包含一个main函数((2)界面的设计:
)。图1.2数字按钮字体颜色设置图1.3功能按钮字体颜色设置(3)保持代码简洁代码写后不易理解,在修改和重写上难度比较大,使工作更加,所以编写代码时应保持代码的简洁易懂。(4)功能实现个设计中要保持完整性,能够实现计算器中最基本的功能,如减、乘、除等。1.3.2明确任务用java编写一个简单的计算器,使其能够实现最基本的功能,如简单、减、乘、除;平方根,倒数,余数,三角函数,多数连续运算,科数法等功能。1.4本章小结通过第一章我们可以了解到这次java课程设计的一个总的概况。掌握了java程序编辑器、图形界面以及文件操作的实现。这次程序设计在设计时候考虑到了简单明了。我们设计的优点是:条理清晰,容易理解,修改。第2章程序整体设计说明2.1程序中所用到的变量(1)控件变量: //定义菜单JMenuItem //菜单栏的实现。将JMenu对加到菜单栏以构造菜单。JRadioButtonMenuItem
//选中一个的时候,禁用另外一消选中的时候,释放禁用的那一个extField
//JTextField是一个显示用户输出的文本区域。anel
//JPanel作为一个容器,可以包容一些组件,然后将这个JPanel对象作为一个组件添加到另一个容器(称作父容器)中。oggleButton
//用于记录内存中是否存在用存的数据信息。utton
//是用户进行计算时主要的使用工具,一般为其添加actionPerformed事件。(2)其它变量privatedoubledata_One; privatedoubledata_Two; //用来存储运算的数据privatecharOperator='A'; //存放运算符privatebooleanpointIsTyped=false; //判断输入的数据是否是小数privateintmemoryi; //存储内存中的整数数据privatedoublememoryd; 2.2程序部分源代码及注释2.2.1窗体中的菜单栏图解:框架图为应用程序提供一个图形化的界面本次设计运行出的程序框架图如图2-1所示
图2-1程序框架图(1)复制菜单的功能实现代码如下:(2)粘贴菜单的功能实现代码如下:(3)科学型菜单的功能实现代码下:(4)数字分组的功能实现代码如下:(5)帮助主题菜单的功能实现代码如下:(6)关于计算器菜单的功能实现代码如下:①新建一个VisualClass类文件(名为JDia_About):图2-2关于计算器的介绍②为关于计算器菜单添加actionperformed事件:2.2.2程序中各个按钮的功能实现:(1)计算器中数字(0~9)按钮所实现的功能代码如下:(2) 文件的开头定义一个布尔型的变量:②在点按钮的actionPerformed事件中添加如下代码:(3) (4)计算器中四则运算符(+、-、*、/)实现的功能代码如下:(5)实现的功能代码如下:(6) 单击“*”,输入第二个数,然后单击“%”。例如,50*25%将显示为12.5。输入第二个数,单击“%”,然后单击“=”。例如,50+25%(指的是50的25%)=62.5。(8) 文件初始位置定义一个变量:四个运算符号代码内添加:于号内的代码如下:(9)为JTextField控件添加键盘输入(keyTyped)事件:其中包括0~9十个数字,Backspace和Ese等按钮的实现功能代码:(10)内存数据处理的功能代码:① ② ③ 算结果与内存中的数据相加:2.2.3科学型计算器中部分按钮功能的实现:(1)求数字阶乘按钮的代码如下:(2)求数字对数按钮的代码如下:①log函数的代码如下:②ln函数的代码如下:(3)求数字的三角函数(sin、cos、tan)按钮的代码如下:以sin函数为例代码如下:(cos和tan同理)DecimalFormatdf=newDecimalFormat("0.0");doublea;doubleb;Double.parseDouble(jTextField1.getText());((b*180/Math.PI)%180==0){0;r="0.";extField1.setText(str);elseif(b*180/Math.PI==30){a=Math.sin(b);str=df.format(a);Text(str);se{a=Math.sin(b);str=Double.toString(a);tText(str);r="";ntIsTyped=false;elseif(bj==0){(Double.parseDouble(jTextField1.getText())%180==0){0;r="0.";extField1.setText(str);se(Double.parseDouble(jTextField1.getText())==30){Math.sin((Double.parseDouble(jTextField1.getText()))*Math./180);r=df.format(a);extField1.setText(str);se{Math.sin((Double.parseDouble(jTextField1.getText()))*Math./180);r=Double.toString(a);extField1.setText(str);r="";ntIsTyped=false;(4)求数字的平方按钮的代码如下:(5)Int按钮功能的代码如下:(6)PI按钮功能的代码如下:2.3本章小节本章主要讲述的是计算器设计的整个过程,主要使用到的控件和各按钮功能的实现代码,以及整个程序中所使用到的变量,虽然本章表述的设计过程比较详细,但是仍有不足之处,部分变量值的变化没有包含在内,需要用户根据自己的需要进行调整,在此就不做的说明了。第3章程序运行效果:3.1程序运行主要界面:(1)标准型计算器与科学型计算器之间的切换:图3-1计算器之间的换切3.2计算器部分按钮运行主要界面:(1)加减乘除运算:(以除法为例:9/4和9/0)(2)开平方根运算: (3)百分号运算:图3-5百分号运算图(4)求倒数据运算:效值的倒数据运行效果:图3-6倒数运算图②0求倒数运算: 0求倒数运算图(5)求负数的平方根:图3-8负数求平方根3.3本章主要介绍了用java创建计算器的运行后的效果图。运行
java算器以后出现的那个框架图就是我们所说的java图形用户界面(GUI),程序与用户进行交流的图像窗口,为应用程序提供一个图形化的界面,程序通过GUI与用户交互,GUI通过事件机制响应用户和程序的交互。如当用户单击某个按钮时就会产生动作事件,要处理产生的事件,需特定的方法中编写处理事件的程序。这样,当产生某种事件时就会调用处理这种事件的方法,从而实现用户与程序的交互。另外GUI能使一个应用程序具有与众不同的“外观”与“感觉”。有了GUI,用户就不用花很多时间去记忆各个键盘序列的功能,应用程序本身上。第4章设计中遇到的重点及难点4.1设计中遇到的重点次设计中,遇到的重点有以下两点:(1)Java计算器在进行混合运算时,不能准备的进行计算,后面输数值会覆盖先前输入的数据,造成数据丢失。解决步骤分为以下几点:①在文件开头部分定义一个标志性布尔型变量 sign,并赋初值为lse;号、减号、乘号、除号的代码里添加
if判断语句,如果sign值为false,就另Operator的值为相应的运算符,并改变sign的值为true;③如果sign的值为true,则执行与等号代码相同的switch…case…分支语句;④最后在四个运算符按钮代码的switch语句的最后分别添加一句、 、 、 (2)java计算器中还用到了将数据存入内存的方法。实现步骤如下:①首先在类文件的开头部分定义两个内存变量:②理解与内存数据有关的四个按钮的含义:MC—清除内存数据;MR—MSM+后根据每个按钮的含义编写相应代码就轻而易举了。4.2设计中遇到的难点在本次的java计算器的设计实现过程中,遇到很多难点,主要的难点(1)计算结果的精确度问题计算精确度问题的解决步骤如下:①在类文件开头引入一个限定格式的语句: DecimalFormatdf=newcimalFormat("0.0##############");②在每个输出结果的地方都引用这个格式:str=df.format(data_One);extField1.setText(str);(2)实现键盘输入①0~9十个数字按钮的键盘输入:②Backspace按钮的键盘输入:③Esc按钮的功能如下:4.3通过这一章我们了解到了在JAVA中如何更好的运用变量,同时我们会了对混合运算的实现,使我们的计算器能够完成更加复杂的运算,字输出格式的语句,使运算结果更加精确简单,还入数据,使计算器不仅能够使用按钮进入计算,同更加方便快捷,使用户使用起来更加简便。对于难点的解决,也让我们学到了更多的知道,完善了自己对JAVA更加深一步的认识。第5章本次设计存在不足与改良方案5.1本次设计中存在的不足次设计中主要有以下几个方面是不完善的。(1)数字分组上存在不足:编写数字分组菜单内的代码时,只实现了表面的现象,只能在输入数据以后再选择数字分组菜单才能实现数据的分组格式,不变,如果想要每个数字都以分组的形式显示,只能每个数据都重新选择数字分组菜单。(2)科学型计算器上部分按钮功能没有实现:科学型计算器比较复杂,涉及到的数学知道比较多,所以部分按钮的能实现该有的功能。5.2本次设计的改良方案体结构合理,风格一致,模块化结构,界面清晰,接口灵活,操作,能实现比较简单的混合运算。②科学计算器实现的功能多于标准型,比标准型计算器能够实现更加多算,基本达到了科学计算器的标准。③科学计算器添加上数字分组、科学计数法和三角函数功能,使程序更善。5.3个程序将会更加完善,问题都是我们自己发我们多做,就会发现问题,只有发现问题还会去想怎样去解决。这样系统就会不断的改善,不断的提高。结论通过此次课程设计,将我
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024中介行业人才招聘保密及竞业限制服务合同3篇
- 糖尿病冬季保养
- 2024年保险业务员个人工作总结(34篇) (一)
- 《妇女问题研究》课件
- 工人拆房合同范例
- 小区院内房屋转让合同范例
- 关联合同范例
- 工厂工件配送合同范例
- 制定合同范例体系
- 雪松苗木售卖合同范例
- 财务年度工作述职报告
- 投标书范本完整版本
- 防艾小课堂学习通超星期末考试答案章节答案2024年
- 第七单元《长方形和正方形 解决问题》(说课稿)-2024-2025学年三年级上册数学人教版
- 人工智能企业团队构建及岗位设置方案
- 新高考数学题型全归纳之排列组合专题20定序问题(原卷版+解析)
- 《道路交通安全违法行为记分管理办法》知识专题培训
- 【基于PLC的搬运机器人系统设计(论文)7400字】
- 医院保安服务方案(技术方案)
- Unit 9 语法知识清单 2024-2025学年人教版英语九年级全册
- 2024新人教版道法一年级上册第三单元:养成良好习惯大单元整体课时教学设计
评论
0/150
提交评论