版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 javajava 程序设计程序设计课程设计(论文)说明书课程设计(论文)说明书题目: 简 易 计 算 器 摘摘 要要在人们的日常生活中,计算器系统是很常见的。本次的课程设计就是研究这类的问题,利用 java 语言实现简单的加、减、乘、除运算,还要对在运算过程中可能出现的问题进行处理,在本程序中,利用 try、catch 语句来实现对可能出现的异常进行捕获、处理。在课程设计中,系统开发平台为 windows 7,程序设计设计语言采用 java,程序运行平台为 windows 7,程序开发工具为 eclipse,其中还要用到 jdk 的配置等。计算器要实现简单的加、减、乘、除运算,其中在除法运算
2、中对除数不能为零的情况做简单的处理,把问题抛出,并在计算器的文本框中输出相应的 “除数不能为零!” 信息。在本次课程设计中,将重点学习 gui 的设计。在 gui 的设计中,学习容器、组件的相关知识,并且对其中的组件设置事件监听,然后处理监听到的事件。整个系统有一个无参构造函数;九个方法,其中包括一个主方法;八个类,其中包括七个事件监听类。关键词:关键词:java 程序设计、eclipse 的安装配置、jdk 的安装配置、系统变量、try-catch 语句、gui 图形用户界面、主方法、容器、组件、无参构造函数、事件监听类黄冈职业职业技术学院电子信息学院 软件外包服务专业目目 录录第一章第一章
3、 前前 言言.4 41.1 工作基础及应用环境.41.2 研究意义.4第二章第二章 开发环境的集成开发环境的集成.4 42.1 eclipse 及 jdk 的安装配置.42.1.1 eclipse 的安装配置 .42.1.2 jdk 的安装配置 .5第三章第三章 系统需求分析及实现目标系统需求分析及实现目标.6 63.1 系统需求分析.63.2 系统实现目标.7第四章第四章 计算器系统设计计算器系统设计.7 7第五章第五章 实现过程实现过程.1010第六章第六章 总结总结.1212参考文献参考文献.1313致致 谢谢.1313黄冈职业职业技术学院电子信息学院 软件外包服务专业第一章第一章 前前
4、 言言1.1 工作基础及应用环境工作基础及应用环境经过一学期的 java 学习,对 java 的基本知识有了一定的了解,对各方面的知识形成了一定的系统,在这样的基础下进行 java 课程设计,加强这一学期所学的知识点,巩固系统知识,并在实际应用中灵活的应用。应用环境是:在 windows 的操作系统中都可以应用此软件。1.2 研究意义研究意义通过实训把知识形成系统,把自己所学的知识在实际问题中加以运用。如果自己编写的程序能够给更多的人带来方便,并且得到人们的好评,那么自己编写的程序就可以实现商品化,形成产品给更多的人利用,并实现一定的商品价值。1.3 进度安排及分组情况进度安排:利用第十六周一
5、周的时间,把计算器程序的代码编写出来,并且能够运行,实现预期所想要的结果;第十七周的时间主要是书写实训报告,中间穿插软件测试的内容,把软件的功能完善;在第十七周的最后一次课之前进行答辩,完成本次的课程设计实训。第二章第二章 开发环境的集成开发环境的集成2.1 eclipse 及及 jdk 的安装配置的安装配置2.1.1 eclipse 的安装配置的安装配置java 开发工具有很多,比如:eclipse 3.7、netbeans 7.0、myeclipse,其中myeclipse 就是 eclipse 集成了很多插件,此软件工具是要收费的。我所用的 java 开发工具是eclipse,此软件是设
6、计好的软件,不需要安装就可以使用。2.1.2 jdk 的安装配置的安装配置jdk 环境变量的配置方法有两种,具体配置方法如下:一、jdk 环境变量的配置:1、新建系统变量:java_home,其变量值为:c:javajdk1.6.0_10。2、编辑系统变量:path,在其变量值文本框末端添加字符串:;%java_home%bin;。3、新建用户变量:classpath,其变量值为:.;c:javajdk1.6.0_10libtools.jar;。二、jdk 环境变量的配置:1、新建系统变量:java_home,其变量值为:c:javajdk1.6.0_10。2、编辑系统变量:path,在其变量
7、值文本框末端添加字符串:;%java_home%bin;。3、新建系统变量:classpath,其变量值为:.;%java_home%libdt.jar;%java_home%libtools.jar。下面以 window 7 操作系统具体介绍 jdk 的配置方法:1、打开系统属性对话框,然后点击下面的环境变量按钮:2、在打开的环境变量对话框中,进行 jdk 环境变量的设置,具体的设置方法参考 2.1.2 jdk 的安装与配置:第三章第三章 系统需求分析及实现目标系统需求分析及实现目标3.1 系统需求分析系统需求分析本次课程设计的题目是制作简易的计算器,整个系统需要实现的功能是:简单的加、减、
8、乘、除功能,并且对可能出现的异常进行处理,还要输出异常信息。在执行计算功能时,要注意计算数据的范围,不能输入超出范围之内的数据,对于异常的输入能够有提示信息。我主要负责的是在没有点击等号按钮之前,实现加减乘除的算法,并把算的结果在文本框中显示出来。在实现除法运算的过程中,要注意除数不能为零的情况,在程序具体实现过程中用 try 语句扑捉异常,把除数为零的情况以异常类抛出,在后面用 catch 语句捕获异常,然后在计算器文本框中输出“除数不能为零!”的字幕。其他的算法主要是注意运算的范围,不能输入太大或是太小的数据,如果输入的数据太大,运算的结果就不会以 double 型数据显示。3.2 系统实
9、现目标系统实现目标系统要实现的功能是简单的加减乘除算法,并且要在遇到异常的情况下,把异常抛出。比如:除法运算中除数不能为零的情况,当在运算的过程中如果除数为零,程序就会把除数为零的情况以异常类抛出,并且在文本框中显示捕获的异常信息。还有运算的结果过大或是过小的情况。系统在实现除法运算时,如果输入的除数为零会显示如下信息:第四章第四章 计算器系统设计计算器系统设计本系统整体上说还是有一定的难度,其中用到了一个构造函数、八个类、九个方法,包括一个主方法和八个事件监听类。在公共类中对面板、按钮等容器或组件进行了申明和创建对象;在构造函数 calculate()中只做了退出界面的设置和调用 jbini
10、t();在 jbinit()方法中对每个按钮或是面板进行了设置,设置它的大小、位置,还有对应触发的事件;还有其他的方法和类就是对加减乘除算法的实现,以及面板中二十个按钮所对应的事件响应,和八个事件监听类。我主要做的是加减乘除算法的实现,还要考虑到在计算的过程中可能出现的异常,在这里主要是对除法运算中除数不能为零的情况进行处理,我所用到的方法是用 try-catch 语句把异常抛出并且进行异常类的处理,并把相关的异常信息输出在计算器的文本框中。计算器系统中唯一的一个界面如下:在没有用 try-catch 语句进行异常处理的时候,除法运算中除数为零的情况,运算得到的结果为:在用到 try-catc
11、h 语句进行异常处理的时候,除法运算中除数为零的情况,运算得到的结果为:第五章第五章 实现过程实现过程这里只列出了自己所做部分代码:public void btnequal_actionperformed(actionevent e) if(!flag3)/未曾按下等于运算符 behind = txtresult.gettext();/返回此文本组件表示的文本。 else front = re; /re用于存储运算结果的字符串格式 try /front - 要解析的字符串。 double a1 = double.parsedouble(front);/double 类在对象中包装一个基本类型
12、double的值。每个 double 类型的对象都包含一个 double 类型的字段。 double b1 = double.parsedouble(behind);/parsedouble:返回一个新的 double 值,该值被初始化为用指定 string 表示的值 if (op = +) /返回:由字符串参数表示的 double 值。 result = a1 + b1; /result用于存储运算结果 else if (op = -) /op用于记录运算符 result = a1 - b1; else if (op = *) result = a1 * b1; else result =
13、a1 / b1; if(b1=0) throw new arithmeticexception(除数不能为零!); re = double.tostring(result);/tostring:返回此 double对象的字符串表示形式。 txtresult.settext(re);/将此文本组件显示的文本设置为指定文本。 /re - 新文本;如果此参数为 null,则将文本设置为空字符串 catch (arithmeticexception ce) txtresult.settext(ce.getmessage(); if (!flag3) flag3 = true;/确认已经按下等号 pub
14、lic void btnpoint_actionperformed(actionevent e) int num=txtresult.gettext().indexof(.);/返回索引在这个字符串的第一个发生指定子串。 if(num0 & !flag)/flag用于记录是否按下了运算符 txtresult.settext(txtresult.gettext()+e.getactioncommand();/getactioncommand:返回此按钮激发的动作事件的命令名称。如果命令名称为 null(默认),则此方法返回按钮的标签。 if(flag) flag1=true;/flag1用于判断
15、是否输入了点运算符具体的实现方法如以下流程图:程序中点号的实现代码:public void btnpoint_actionperformed(actionevent e) int num=txtresult.gettext().indexof(.);/返回索引在这个字符串的第一个发生指定子串。 if(num0 & !flag)/flag用于记录是否按下了运算符 txtresult.settext(txtresult.gettext()+e.getactioncommand();/getactioncommand:返回此按钮激发的动作事件的命令名称。如果命令名称为 null(默认),则此方法返回
16、按钮的标签。 if(flag) flag1=true;/flag1用于判断是否输入了点运算符 第六章第六章 总结总结在答辩中老师的提问:在答辩中老师的提问:问:在点击按钮之后,怎样让程序知道这个事件?代码中是如何实现的?答:在点击按钮之后,主要是利用事件监听,对按钮设置,监听按钮的动作,然后在用具体的方法体去实现此按钮的具体功能。课程设计中总共用到了七个事件监听类,九个方法体。在本次的课程设计中,主要用到以下的方法和事件监听类:class calculate_btncancel_actionadapter implements actionlistener /实现“”号功能的监听class c
17、alculate_btnminus_actionadapter implements actionlistener /实现“+/-”号功能的监听class calculate_btnbegin_actionadapter implements actionlistener /实现“c”号功能的监听class calculate_btnpoint_actionadapter implements actionlistener /实现点号功能的监听class calculate_btnequal_actionadapter implements actionlistener /实现等号功能的监听c
18、lass calculate_btnincrease_actionadapter implements actionlistener /实现加、减、乘、除功能的监听class calculate_btnzero_actionadapter implements actionlistener /实现数字 0-9 功能的监听具体功能的实现方法体如下:无参构造函数:public calculate()主方法:public static void main(string args)其他实现功能的方法:private void jbinit() throws exceptionpublic void b
19、tnzero_actionperformed(actionevent e)public void btnincrease_actionperformed(actionevent e)public void btnequal_actionperformed(actionevent e)public void btnpoint_actionperformed(actionevent e)public void btnbegin_actionperformed(actionevent e)public void btnminus_actionperformed(actionevent e)public void btncancel_actionperformed(actionevent e)课程设计总结:课程设计总结:通过两周的实训明白了,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 春节消防安全培训总结课件
- 小班地震安全教育课件
- 选矿厂磨矿工课件培训
- 校园心理学培训课件
- 春节复审安全培训课件
- 律师会议之道
- 2025年智慧物流行业自动化趋势行业创新报告
- 校园安全防暴培训总结课件
- 《初中语文红色经典阅读教学中的情感教育教学设计研究》教学研究课题报告
- 立秋文化新媒体创新
- 商业招商合同
- 2026广东省考行测试题及答案
- 2025年子女已成年离婚协议书(模板)
- 2023-2025年中考语文真题分类汇编-名句名篇默写(含答案)
- 蒙德里安与苹果课件
- 银行太极活动方案
- 禁止烟花爆竹课件
- DB11∕T 2383-2024 建筑工程施工现场技能工人配备标准
- GB/T 45953-2025供应链安全管理体系规范
- 2025秋季学期国开电大法律事务专科《刑事诉讼法学》期末纸质考试简答题库2025春期版
- 设计公司报账管理办法
评论
0/150
提交评论