Java课程设计-计算器系统.doc_第1页
Java课程设计-计算器系统.doc_第2页
Java课程设计-计算器系统.doc_第3页
Java课程设计-计算器系统.doc_第4页
Java课程设计-计算器系统.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

javajava 程序设计程序设计 课程设计(论文)说明书课程设计(论文)说明书 题目: 简 易 计 算 器 摘摘 要要 在人们的日常生活中,计算器系统是很常见的。本次的课程设计就是研究这 类的问题,利用 java 语言实现简单的加、减、乘、除运算,还要对在运算过程 中可能出现的问题进行处理,在本程序中,利用 try、catch 语句来实现对可能 出现的异常进行捕获、处理。在课程设计中,系统开发平台为 windows 7,程序 设计设计语言采用 java,程序运行平台为 windows 7,程序开发工具为 eclipse,其 中还要用到 jdk 的配置等。计算器要实现简单的加、减、乘、除运算,其中在除 法运算中对除数不能为零的情况做简单的处理,把问题抛出,并在计算器的文本 框中输出相应的 “除数不能为零!” 信息。 在本次课程设计中,将重点学习 gui 的设计。在 gui 的设计中,学习容器、 组件的相关知识,并且对其中的组件设置事件监听,然后处理监听到的事件。整 个系统有一个无参构造函数;九个方法,其中包括一个主方法;八个类,其中包 括七个事件监听类。 关键词:关键词:java 程序设计、eclipse 的安装配置、jdk 的安装配置、系统变量、 try-catch 语句、gui 图形用户界面、主方法、容器、组件、无参构造函数、事 件监听类 黄冈职业职业技术学院电子信息学院 软件外包服务专业 目目 录录 第一章第一章 前前 言言4 4 1.1 工作基础及应用环境4 1.2 研究意义4 第二章第二章 开发环境的集成开发环境的集成4 4 2.1 eclipse 及 jdk 的安装配置4 2.1.1 eclipse 的安装配置 4 2.1.2 jdk 的安装配置 5 第三章第三章 系统需求分析及实现目标系统需求分析及实现目标6 6 3.1 系统需求分析6 3.2 系统实现目标7 第四章第四章 计算器系统设计计算器系统设计7 7 第五章第五章 实现过程实现过程1010 第六章第六章 总结总结1212 参考文献参考文献1313 致致 谢谢1313 黄冈职业职业技术学院电子信息学院 软件外包服务专业 第一章第一章 前前 言言 1.1 工作基础及应用环境工作基础及应用环境 经过一学期的 java 学习,对 java 的基本知识有了一定的了解,对各方面的 知识形成了一定的系统,在这样的基础下进行 java 课程设计,加强这一学期所 学的知识点,巩固系统知识,并在实际应用中灵活的应用。 应用环境是:在 windows 的操作系统中都可以应用此软件。 1.2 研究意义研究意义 通过实训把知识形成系统,把自己所学的知识在实际问题中加以运用。如果 自己编写的程序能够给更多的人带来方便,并且得到人们的好评,那么自己编写 的程序就可以实现商品化,形成产品给更多的人利用,并实现一定的商品价值。 1.3 进度安排及分组情况 进度安排:利用第十六周一周的时间,把计算器程序的代码编写出来,并且 能够运行,实现预期所想要的结果;第十七周的时间主要是书写实训报告,中间 穿插软件测试的内容,把软件的功能完善;在第十七周的最后一次课之前进行答 辩,完成本次的课程设计实训。 第二章第二章 开发环境的集成开发环境的集成 2.1 eclipse 及及 jdk 的安装配置的安装配置 2.1.1 eclipse 的安装配置的安装配置 java 开发工具有很多,比如:eclipse 3.7、netbeans 7.0、myeclipse,其中 myeclipse 就是 eclipse 集成了很多插件,此软件工具是要收费的。我所用的 java 开发工具是 eclipse,此软件是设计好的软件,不需要安装就可以使用。 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,在其变量值文本框末端添加字符串: “;%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 系统需求分析系统需求分析 本次课程设计的题目是制作简易的计算器,整个系统需要实现的功能是:简 单的加、减、乘、除功能,并且对可能出现的异常进行处理,还要输出异常信息。 在执行计算功能时,要注意计算数据的范围,不能输入超出范围之内的数据,对 于异常的输入能够有提示信息。 我主要负责的是在没有点击等号按钮之前,实现加减乘除的算法,并把算的 结果在文本框中显示出来。在实现除法运算的过程中,要注意除数不能为零的情 况,在程序具体实现过程中用 try 语句扑捉异常,把除数为零的情况以异常类抛 出,在后面用 catch 语句捕获异常,然后在计算器文本框中输出“除数不能为零! ”的字幕。其他的算法主要是注意运算的范围,不能输入太大或是太小的数据, 如果输入的数据太大,运算的结果就不会以 double 型数据显示。 3.2 系统实现目标系统实现目标 系统要实现的功能是简单的加减乘除算法,并且要在遇到异常的情况下,把 异常抛出。比如:除法运算中除数不能为零的情况,当在运算的过程中如果除数 为零,程序就会把除数为零的情况以异常类抛出,并且在文本框中显示捕获的异 常信息。还有运算的结果过大或是过小的情况。 系统在实现除法运算时,如果输入的除数为零会显示如下信息: 第四章第四章 计算器系统设计计算器系统设计 本系统整体上说还是有一定的难度,其中用到了一个构造函数、八个类、九 个方法,包括一个主方法和八个事件监听类。在公共类中对面板、按钮等容器或 组件进行了申明和创建对象;在构造函数 calculate()中只做了退出界面的设置和 调用 jbinit();在 jbinit()方法中对每个按钮或是面板进行了设置,设置它的大小、 位置,还有对应触发的事件;还有其他的方法和类就是对加减乘除算法的实现, 以及面板中二十个按钮所对应的事件响应,和八个事件监听类。 我主要做的是加减乘除算法的实现,还要考虑到在计算的过程中可能出现的 异常,在这里主要是对除法运算中除数不能为零的情况进行处理,我所用到的方 法是用 try-catch 语句把异常抛出并且进行异常类的处理,并把相关的异常信息输 出在计算器的文本框中。 计算器系统中唯一的一个界面如下: 在没有用 try-catch 语句进行异常处理的时候,除法运算中除数为零的情况, 运算得到的结果为: 在用到 try-catch 语句进行异常处理的时候,除法运算中除数为零的情况, 运算得到的结果为: 第五章第五章 实现过程实现过程 这里只列出了自己所做部分代码: public void btnequal_actionperformed(actionevent e) if(!flag3)/未曾按下等于运算符 behind = txtresult.gettext();/返回此文本组件表示的文本。 else front = re; /re用于存储运算结果的字符串格式 try /front - 要解析的字符串。 double a1 = double.parsedouble(front);/double 类在对象中包装一个基本类型 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 = 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;/确认已经按下等号 public void btnpoint_actionperformed(actionevent e) int num=txtresult.gettext().indexof(“.“);/返回索引在这个字符串的第一个发生指定子 串。 if(num0 /getactioncommand:返回此按钮激发的动作事件的命令名称。如果命令名称为 null(默认), 则此方法返回按钮的标签。 if(flag) flag1=true;/flag1用于判断是否输入了点运算符 具体的实现方法如以下流程图: 程序中点号的实现代码: public void btnpoint_actionperformed(actionevent e) int num=txtresult.gettext().indexof(“.“);/返回索引在这个字符串的第一个发生指定子 串。 if(num0 /getactioncomman d:返回此按钮激发的动作事件的命令名称。如果命令名称为 null(默认),则此方法返回按钮 的标签。 if(flag) flag1=true;/flag1用于判断是否输入了点运算符 第六章第六章 总结总结 在答辩中老师的提问:在答辩中老师的提问: 问:在点击按钮之后,怎样让程序知道这个事件?代码中是如何实现的? 答:在点击按钮之后,主要是利用事件监听,对按钮设置,监听按钮的动作, 然后在用具体的方法体去实现此按钮的具体功能。课程设计中总共用到了七个事 件监听类,九个方法体。 在本次的课程设计中,主要用到以下的方法和事件监听类: class calculate_btncancel_actionadapter implements actionlistener /实现“”号功能的监听 class calculate_btnminus_actionadapter implements actionlistener /实现“+/-”号功能的监听 class calculate_btnbegin_actionadapter implements actionlistener /实现“c”号功能的监听 class calculate_btnpoint_actionadapter implements actionlistener /实现点号功能的监听 class calculate_btnequal_actionadapter implements actionlistener /实现等号功能的监听 class 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 exception public void btnzero_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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论