已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java 程程序序设设计计 课课程程设设计计报报告告 ( 2011 - 2012 年度第年度第 1 学期学期) 计算器计算器 专业专业计算机科学与技术(网络工程)计算机科学与技术(网络工程) 学生姓名学生姓名赵宝文赵宝文 班级班级B 计算机计算机 102 学号学号1010704227 指导教师指导教师徐徐 森森 完成日期完成日期2012 年年 1 月月 8 日日 计算器 目目 录录 目 录2 1 概 述1 1.1 课程设计目的1 1.2 课程设计内容1 2 系统需求分析1 2.1 系统目标1 2.2 主体功能1 2.3 开发环境1 3 系统概要设计1 3.1 系统的功能模块划分1 3.2 系统流程图2 4 系统详细设计.2 4.1 COMPUTERPAD(主类) 2 4.2 NUMBERBUTTON2 4.3 OPERATIONBUTTON3 5 测试3 5.1 测试方案3 5.2 测试结果4 6 小结4 参考文献5 附 录6 附录 源程序清单6 附录 源程序清单14 附录 源程序清单14 Java 程序设计课程设计报告(2011) 1 题目题目 1 概 述 1.1 课程设计目的 1.熟悉 Java 的运行环境及其使用; 2.掌握 Java 图形界面的使用; 3.加强 Java 程序的分析能力; 4.加强使用 Java 知识解决实际问题的能力。 1.2 课程设计内容 设计 GUI 界面的计算器程序,用户可以通过鼠标依次输入参加计算的数值, 进行加、减、乘、除等混合运算。 2 系统需求分析 2.1 系统目标 要求所设计的 GUI 界面计算器是一个使用很方便的程序,能进行加、减、乘、 除等混合运算。 2.2 主体功能 用户可以通过鼠标依次输入参加计算的数值,进行加、减、乘、除等混合运算。 2.3 开发环境 Eclipse 集成开发环境 3 系统概要设计 3.1 系统的功能模块划分 本计算机文件共有 3 个 java 源文件。 类之间的主要关系如下图所示 ComputerPad(主类主类) NumberButtonOperationButton ComputerPad.java 该 java 源文件生成的类负责创建计算器的“主窗口” 。该类含有 main 方法, 整个程序从该类开始执行。 计算器 2 NumberButton.java 该文件生成的类负责为主类创建数字按钮对象,使用鼠标单击数字按钮可依 次输入参加运算的数值的各位数字。 OperationButton.java 该文件生成的类负责为主类创建运算符号按钮对象。使用鼠标单击运算符号 按钮可选择所要进行的运算。 Java 程序设计课程设计报告(2011) 3 3.2 系统流程图 开始 初始化变量 按键选项。 是否为 0。 当前是否有 运算符。 当前是否有 运算符。 退格当前编辑 的数据。 初始化所有 变量。 计算当前运算 符,并显示。 显示当前编辑 的数据。 计算当前运算 符,并显示。 根据当前运算 符计算结果。 当前编辑 数据是否 为 0。 当前编辑 数据是否 为 0。 当前编辑的数 字后加 0 继续? 当前数据后 加一位。 当前数据用键 值代替 数字键 运算符键 符号键 清 除 键 退 格 键 是 否 是 否 是 否 是 否 是 否 是 结束 否 计算器 4 4 系统详细设计 4.1 ComputerPad(主类) 成员变量 成员变量描述变量类型名称 数字按钮数组NumberButtonnumberButton 运算符号按钮数组OperationButtonoperationButton 小数点按钮Button小数点按钮 正负号按钮Button正负号按钮 退格按钮Button退格按钮 求倒数按钮Button求倒数按钮 等号按钮Button等号按钮 清零按钮Button清零按钮 显示计算结果JTextFieldresultShow 存储数据的链表LinkedList链表 方法 名称功能备注 ComputerPad创建窗口构造方法 ActionPerformed处理 ActionEvent 事件接口方法 Main程序运行入口 代码 见附录。 4.2 NumberButton 成员变量 成员变量描述变量类型名称 按钮代表的数字Intnumber 方法 名称功能备注 NumberButton创建数字按钮构造方法 getNumber获取按钮代表的数字 代码 见附录。 Java 程序设计课程设计报告(2011) 5 4.3 OperationButton 成员变量 成员变量描述变量类型名称 按钮代表的数字StringOperator 方法 名称功能备注 OperationButton创建符号按钮构造方法 getOperator获取按钮代表的符号 代码 见附录。 5 测试 5.1 测试方案 图 5-1 5.1.1 加法测试:1+2=? 图 5-1-1 计算器 6 5.1.2 乘法测试:2*3=? 图 5-1-2 5.2 测试结果 加法测试结果:1+2= 图 5-2-1 乘法测试结果:2*3= 图 5-2-2 6 小结 本文利用 Java 语言编写了一个计算器程序,其中涉及到很多的基础内容,如 类、构造方法、继承、接口、GUI 等。通过对这些内容的综合运用,加深了对 Java 的理解,为进一步学习打下基础。 Java 程序设计课程设计报告(2011) 7 参考文献参考文献 1耿祥义,张跃平. Java2 实用教程(第三版)M . 北京:清华大学出版社, 2006 2耿祥义. Java 课程设计(第三版)M . 北京:清华大学出版社, 2004 3张跃平.Java2 实用教程实验指导与习题解答(第三版)M. 北京:清华大学出 版社, 2004 4Jacquie Barker,Java 面向对象编程指南,电子工业出版社,2001 计算器 8 附附 录录 附录 源程序清单 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import java.util.LinkedList; public class ComputerPad extends Frame implements ActionListener NumberButton numberButton;/数字按钮数组。 OperationButton operationButton;/运算符号按钮数组。 Button 小数点按钮,正负号按钮,退格按钮,求倒数按钮,等号按钮,清零按钮; Panel panel;/添加各种按钮的面板。 JTextField resultShow;/显示计算结果的文本条。 String 运算符号=“+“,“-“,“*“,“/“; LinkedList 链表;/负责存储数据的链表。 boolean 是否按下等号=false; public ComputerPad() super(“计算器“); 链表=new LinkedList(); numberButton=new NumberButton10;/共有 10 个数字按钮。 for(int i=0;i=1) num=num.substring(0, num.length()-1); 链表.set(0, num); resultShow.setText(num); else 链表.removeLast(); resultShow.setText(“0“); else if(链表.size()=3) String num=(String)链表.getLast(); if(num.length()=1) num=num.substring(0, num.length()-1); 链表.set(2, num); resultShow.setText(num); else 链表.removeLast(); resultShow.setText(“0“); else if(e.getSource()=正负号按钮) if(链表.size()=1) String number1=(String)链表.getFirst(); try double d=Double.parseDouble(number1); d=-1*d; String str=String.valueOf(d); 链表.set(0, str); resultShow.setText(str); catch(Exception ee) Java 程序设计课程设计报告(2011) 15 else if(链表.size()=3) String number2=(String)链表.getFirst(); try double d=Double.parseDouble(number2); d=-1*d; String str=String.valueOf(d); 链表.set(2, str); resultShow.setText(str); catch(Exception ee) else if(e.getSource()=求倒数按钮) if(链表.size()=1|链表.size()=2) String number1=(String)链表.getFirst(); try double d=Double.parseDouble(number1); d=1.0/d; String str=String.valueOf(d); 链表.set(0, str); resultShow.setText(str); catch(Exception ee) else if(链表.size()=3) String number2=(String)链表.getFirst(); try double d=Double.parseDouble(number2); d=1.0/d; String str=String.valueOf(d); 链表.set(0, str); resultShow.setText(str); catch(Exception ee) 计算器 16 else if(e.getSource()=清零按钮) 是否按下等号=false; resultShow.setText(“0“); 链表.clear(); public static void main(String args) new ComputerPad(); 附录 源程序清单 import java.awt.*; public class NumberButton extends Button int number; public NumberButton(int number) super(“ “+number); this.number=number; setForeground(Color.blue); public int getNumber() return number;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年陇南客运从业资格证考试网
- 2024年宁德客运上岗证模拟考试题
- (05)第四单元-2021-2022学年下学期八年级语文下册作文点评
- 2024年常州考客运资格证
- 人教部编版六年级语文上册第1课《草原》精美课件
- 质量管理经理招聘笔试题与参考答案(某世界500强集团)2025年
- 教师资格考试初中面试美术试题及解答参考
- 门诊工作管理制度
- 青年论坛发言稿
- 教师资格考试高中学科知识与教学能力体育与健康试卷与参考答案
- YY∕T 1782-2021 骨科外固定支架力学性能测试方法(高清最新版)
- 西亚教学设计与反思
- 乙酸乙酯的反应器设计流程图
- EM277的DP通讯使用详解
- 耐压绝缘测试报告
- 野兽派 beast 花店 调研 设计-文档资料
- 水泵房每日巡视检查表
- 杭州市区汽车客运站临时加班管理规定
- 垫片冲压模具设计毕业设计论文
- 冷库工程特点施工难点分析及对策
- Python-Django开发实战
评论
0/150
提交评论