Java课程设计报告---设计一个多功能计算器
存档资料存档资料成绩:成绩: 课课 程程 设设 计计 报报 告告 书书 ( 2010-- 2011 年度第 2学期) 所属课程名称所属课程名称 Java Java 面向对象程序设计面向对象程序设计 题题目目设计一个多功能计算器设计一个多功能计算器 分分院院电电 信信 分分 院院 专业班级专业班级 09 09 信管信管班班 学学号号 指导教师指导教师 2011 2011 年年 0606 月月 2323 日日 课课 程程 设设 计(计( 论论 文文 )任)任 务务 书书 一、课程设计(论文)题目一、课程设计(论文)题目设计一个多功能计算器设计一个多功能计算器 二、课程设计(论文)工作:自二、课程设计(论文)工作:自 2011 2011 年年 0606 月月 13 13 日起至日起至 20112011 年年 06 06 月月 23 23 日止。日止。 三、课程设计(论文)的内容要求:三、课程设计(论文)的内容要求: 本应用程序继承自框架类(本应用程序继承自框架类( JFrameJFrame)) ,此程序使用,此程序使用 FrameFrame 布局管理器布局管理器 BorderLayoutBorderLayout,, 将单行文本框加入到将单行文本框加入到 ““NorthNorth”区域,”区域, 包含各种按钮的面板包含各种按钮的面板 PanelPanel p p 加入到”加入到”CenterCenter”区域。包含各种按钮的面板”区域。包含各种按钮的面板 Panel pPanel p 采用采用 4 4 行行 5 5 列的网格列的网格 布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。同时注册按布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。同时注册按 钮事件监听器。如:钮事件监听器。如: Button b=new Button(); b.addActionListener(Button b=new Button(); b.addActionListener( 事件事件 监听器监听器) );; 事件监听器中的事件处理方法事件监听器中的事件处理方法 void actionPered(ActionEvent evt)void actionPered(ActionEvent evt) 完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件 (”(”0 0”,””,”1 1”,””,”2 2”…””…”8 8”,””,”9 9”)”) 、运算符按钮事件(”、运算符按钮事件(” + +”,”-”,”- “,”“,”* *”,””,”/ /”,””,”% %”)”) 、正负号按钮事件(”、正负号按钮事件(” +/-+/-“)“) 、小数点按钮事件、小数点按钮事件 (”(”. .”)”) 、等号按钮事件(”=”)、等号按钮事件(”=”) 、求倒按钮事件(”、求倒按钮事件(”1/x1/x”)”) 、清零按钮事、清零按钮事 件件( (““C C””) )。。 在事件处理触发按钮事件时,要进一步分析,是重新开始计算时触发的按在事件处理触发按钮事件时,要进一步分析,是重新开始计算时触发的按 钮事件还是计算中间触发的按钮事件。钮事件还是计算中间触发的按钮事件。 计算器完成的是一个数学表达式,如:计算器完成的是一个数学表达式,如:3 3++2 2,所以可以采用一个链表,所以可以采用一个链表 ((LinkedListLinkedList 类)来存储数字或字符,如类)来存储数字或字符,如 3 3,+,,+,2 2 分别存储在链表中,最后分别存储在链表中,最后 运算时,可以一一取出来进行运算。运算时,可以一一取出来进行运算。 学生签名:学生签名: ( ( ) ) 20112011 年年 0606 月月 23 23 日日 课程设计(论文)评阅意见课程设计(论文)评阅意见 序号 1 2 3 4 5 6 7 8 项目 课程设计态度评价 出勤情况评价 任务难度评价 工作量饱满评价 任务难度评价 设计中创新性评价 论文书写规范化评价 综合应用能力评价 等级 优秀良好中等及格不及格 综合评定等级 评阅人评阅人职称职称 2020年年月月日日 第 3 页 共 18 页 目目录录 第第 1 1 章章 课课 程程 设设 计(计( 论论 文文 )任)任 务务 书书. 2. 2 第第 2 2 章章 程序设计目的程序设计目的 . 5 . 5 第第 3 3 章章 第第 4 4 章章 第第 5 5 章章 第第 6 6 章章 第第 7 7 章章 程序实现思路程序实现思路 6 程序清单或正文程序清单或正文 7 调试与测试………………………………………………调试与测试………………………………………………1616 课程设计心得课程设计心得 . 17 . 17 参考文献参考文献 . 18 . 18 第 4 页 共 18 页 第第 2 2 章章 程序设计目的程序设计目的 1. 1. 充分的将课本知识与实际应用相结合,做到理论联系实际,充分的将课本知识与实际应用相结合,做到理论联系实际, 融会贯通所学知识。融会贯通所学知识。 2. 2. 提高自身的实践能力,为以后做相关编程工作提供经验。提高自身的实践能力,为以后做相关编程工作提供经验。 3. 3. 通过对面向对象语言程序代码的阅读、修改、设计,理解和通过对面向对象语言程序代码的阅读、修改、设计,理解和 掌握复杂的面向对象如掌握复杂的面向对象如 JavaJava 语言应用程序的编程,语言应用程序的编程, 提高实践编提高实践编 程的能力。程的能力。 4. 4. 能够利用已有资源加工处理处好的程序设计,加强一定的综能够利用已有资源加工处理处好的程序设计,加强一定的综 合处理能力。合处理能力。 5. 5. 通过这次课设让我们更加理解编程工作是多么精细的工作,通过这次课设让我们更加理解编程工作是多么精细的工作, 所以我们要保持良好的程序设计风格,以及学会面向对象程序所以我们要保持良好的程序设计风格,以及学会面向对象程序 设计的基本思想。设计的基本思想。 第 5 页 共 18 页 第第 3 3 章章程序实现思路程序实现思路 本程序首先创建了四个面板,本程序首先创建了四个面板,每一个都有自己的相关按钮,每一个都有自己的相关按钮,按照按照 各自的布局方式排列初步形成了一个计算器的图形模板,然后通过各自的布局方式排列初步形成了一个计算器的图形模板,然后通过 注册事件监听器即实现事件处理来完成整个注册事件监听器即实现事件处理来完成整个 程序流程图程序流程图 开始 创建四个面板加 到窗体上 为每个面板加入 按钮 注册事件监听者 后实现事件处理 是 触发事件然后处 理事件 是 否 新 的运算 运算结果 否 结束 第 6 页 共 18 页 第第 4 4 章章程序清单或正文程序清单或正文 import java.awt.*;import java.awt.*; import java.awt.event.*;import java.awt.event.*; import javax.swing.*;import ja