JAVA课程设计计算器设计要点.pdf
《JAVA课程设计计算器设计要点.pdf》由会员分享,可在线阅读,更多相关《JAVA课程设计计算器设计要点.pdf(18页珍藏版)》请在三一文库上搜索。
1、辽宁工业大学 JAVA 程序设计课程设计(论文) 题目: JAVA计算器设计 院(系) :软件学院 专业班级:软件工程 学号: 学生姓名: 指导教师:王彦华 教师职称:讲师 起止时间: 2012.6.18至 2012.7.1 程序设计专题(报告)任务及评语 院(系) :软件学院教研室:软件教研室 学 号学生姓名专业班级软件工程班 程序设计 (报告) 题目 JAVA 计算器设计 程 序 设 计 ( 报 告 ) 任 务 程序设计专题的任务与要求: (1)掌握 Java 编程、面向对象的基础知识。 (2)较熟练地编写 Java 应用程序 Application。 (3)了解 Java 的常用标准类库
2、、编程技巧、异常处理。 (5)联系已学过的内容,巩固所学的理论,增强独立工作能力。 (6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能 力都有一个很大的提高。 (7)通过本次设计, 进一步培养学生热爱专业的思想,同时对本专业综合素 质的提高起一个积极的推动作用。 课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。 正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。 指 导 教 师 评 语 及 成 绩 成绩:指导教师签字: 2012 年 7 月 5 日 辽 宁 工 业 大 学 课 程 设 计 说 明 书(论文) 目录 第 1 章课程设计的目的与要求
3、. . 1 1.1 课程设计目的 . . 1 1.2 课程设计的实验环境 . . 1 1.3 课程设计的预备知识 . . 1 1.4 课程设计要求 . . 1 第 2 章课程设计内容 . . 2 2.1 需求分析 2 2.2 设计思路 2 2.3 详细设计 3 2.4 运行调试与分析讨论 6 2.4 主要代码展示及说明 8 第 3 章 课程设计总结 . . 14 参考资料 .15 辽 宁 工 业 大 学 课 程 设 计 说 明 书(论文) 1 第 1 章课程设计的目的与要求 1.1 课程设计目的 JAVA 程序设计是计算机相关专业的必修专业基础课程,其实践性、应用性很强。 实践教学环节是必不可
4、少的一个重要环节。本课程的程序设计专题实际是计算机相关专 业学生学习完 JAVA程序设计课程后,进行的一次全面的综合训练,JAVA 程序设计 的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在 网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为 基础进行软件开发、并在实践应用方面打下一定基础。 1.2 课程设计的实验环境 硬件要求能运行Windows 9.X 操作系统的微机系统。 JAVA程序设计语言及相应的集 成开发环境, J2SDK和 ECLIPSE 开发工具。 1.3 课程设计的预备知识 熟悉 JAVA语言及 ECLIPSE 开发工具。
5、 1.4 课程设计要求 按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达 到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练 掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握, 能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA 程序设计的基本 技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进 行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、 设计过程的观察、理解和归纳能力的提高。 辽 宁 工 业 大 学 课 程 设 计 说 明 书(论文) 2 第
6、2 章课程设计内容 2.1 需求分析 1. 设计的计算器可以完成加法、减法、乘法、除法的简单运算。 2. 实现一些简单的扩展运算,如:正负号、倒数、退格、清零等功能。 3. 添加小数点功能,用以实现浮点型数据的计算。 4. 使用布局管理器设计一个计算器的界面,使用事件监听器处理数据的输入,并完成相 关的计算。 2.2 设计思路 1. 界面设计: (如图 2-1) 图 2-1 2. 设计思路: (1) 根据所设计出来的界面,首先要设计其GUI界面,总体界面有一个文本框,20 个 按钮,总体界面用 BorderLayout 布局,文本框放置在最NORTH,然后 0 到 9 以及 +,- ,*,/
7、等按钮放置到一个面板Panel 中,完成界面设计。 (2) 设计计算流程,首先点击数字按钮时,将按钮数值添加到文本框当中,并将该数 值保存到一个字符串中,再次点击数字按钮时,将之前保存的字符串与新的数值 拼接起来,再添加到文本框当中,直到点击运算符按钮时,将文本框当中的字符 串保存在一个字符串变量中, 然后重置文本框内容, 将运算符号显示到文本框中, 随后输入第二个计算数据时,用同样的办法保存数据,最后通过控制“=”运算符 辽 宁 工 业 大 学 课 程 设 计 说 明 书(论文) 3 先将字符串数据转化成双精度类型,然后计算出结果并显示到文本框当中。 (3) 基本运算设计完成以后则开始考虑其
8、他个别功能的实现,例如倒数、清零、退格 等功能的实现,清零直接重置文本框内容,退格功能则采用substring函数截取 字符串长度。 2.3 详细设计 1. 程序流程图: 2. 主要代码展示及说明: 总体代码的设计: 程序采用继承 windowadapter 类, 新建 Jframe 窗体, 利用数组来定义JBotton 按钮, 同时利用数组注册监听,采用4 行 5 列网格布局,完成计算器界面的基本设置,在窗体 的正常关闭方面,采用匿名类实现窗体的正常关闭。最后对按钮进行计算分析,分别设 定输入数据的 A类、运算符控制的 Opertion 类,退格功能的 BackSpace类、计算结果的 Re
9、sult 类等等,一步步实现计算器的基本功能! (1)类 A的设计(数据的输入) class A implements ActionListener 辽 宁 工 业 大 学 课 程 设 计 说 明 书(论文) 4 public void actionPerformed(ActionEvent e) String a = Jtext.getText(); String s = e.getActionCommand(); if(a.equals(“0.“)|a.equals(“+“)|a.equals(“-“)|a.equals(“*“)|a.equals(“ /“) Jtext.setText(
10、s); else if(flag2) Jtext.setText(s); flag2=false; else Jtext.setText(a+s); 功能解释:程序开始时,程序初始化文本框的内容为“0. ” ,点击数字按钮,则调 用类 A,首先用 a 来获取当前文本框内容, s 来获取按钮数值, 然后进行判断,若 a 的值 为上述代码的值则输出s 的值,再次点击数字按钮时,再次调用A类,此时 a 的值为上 次输入的 s 值,第一个 if语句不满足,执行下个if语句 if(flag2),flag2初始值为 false ,该语句的功能是在执行了“=”号按钮时,防止新的数字按钮的值合并到到已经 得出
11、的结果上,例如: 12+12=24,此时再点击数字按钮3 时,则文本框内容被重置,输 出数值 3,而不是 243,如果 if(flag2)不满足,则将字符串a 和 s 合并并输出,得出第 一个要计算的数据。 (2)类 Opertion 的设计: (运算符的控制) class Opertion implements ActionListener public void actionPerformed(ActionEvent e) cal=e.getActionCommand(); if(flag1=true) x=Jtext.getText(); Jtext.setText(cal); flag
12、1=false; 辽 宁 工 业 大 学 课 程 设 计 说 明 书(论文) 5 功能解释:当点击运算符控制按钮时,首先将运算符的数值赋值给cal (初值为 空) ,紧接着进行判断, flag1 初值为 ture ,该类的作用为在点击运算符按钮时,将计算 的第一个数据保存在x 字符串变量当中,然后将文本框内容重置为点击的运算符的数值, 类的结尾将 flag1赋值为 false ,防止再次点击运算符按钮时改变了x 的值。 (附:此时文本框内容为运算符的值,输入第二个计算数据时,点击数字按钮,则再次 调用 A类,此时满足 A类中第一个 if语句,文本框内容被重置为数字按钮的值,接下来 与获取第一个
13、计算数据步骤一样,直到点击“=”号运算符为止!) (3)类 Result 的设计: (计算并输出结果) class Result implements ActionListener /计算并显示结果 public void actionPerformed(ActionEvent e) double num1; num1=Double.parseDouble(x); y=Jtext.getText(); double num2; num2=Double.parseDouble(y); double result=0; if(num2!=0) if(cal.equals(“+“) result=n
14、um1+num2; if(cal.equals(“-“) result=num1-num2; if(cal.equals(“*“) result=num1*num2; String s1=Double.toString(result); Jtext.setText(s1); if(cal.equals(“/“) if(num2=0) Jtext.setText(“除数不能为 0“); else result=num1/num2; String s1=Double.toString(result); Jtext.setText(s1); 辽 宁 工 业 大 学 课 程 设 计 说 明 书(论文)
15、 6 flag1=true; flag2=true; 功能解释:首先定义两个 Double 型 num1 ,num2 ,将之前保存的第一个计算数据x 强制转换为 Double 型后赋值给 num1 ,接着用字符串变量y 来获取当前文本框的内容, 即第二个计算数据的值,同样再将其强制转换Double 型后赋值给 num2 ,然后进行运算 符判断,对 cal 的值进行比较,然后进行相应的计算,将计算的结果转换成字符串后将 其输出到文本框中,在类的最后将flag1 、flag2赋值为 true ,作用是将计算的结果当 作第二次计算的数据进行再运算,即将结果重新赋值给x 作为第一个计算数据! (附:在
16、此类中还考虑了当除数为零的情况。) (4)类 BackSpace的设计: (功能类退格) class BackSpace implements ActionListener public void actionPerformed(ActionEvent e) String s = e.getActionCommand(); String s1 = Jtext.getText(); if(s.equals(“退格“) s1=new String (s1.substring(0,s1.length()-1); Jtext.setText(s1); 功能解释:这是计算器附加功能的实现,这里只介绍退格
17、功能,像正负号、求倒 数、清零等功能相似,所以就不再一一介绍。首先获取退格按钮的命令值赋给s,然后 获取当前文本框的内容,即输入的数据,将其赋给s1,接着进行判断,利用substring 函数将 s1 字符串截取为从第一个字符至倒数第二个字符为止的字符串并重新赋值给s1, 再将其输出到文本框,实现退格的功能。 2.4 运行调试与分析讨论 1. 简单的运算:(以加法为例: 123+456) 分析:计算的结果为579.0,为双精度型,计算的 结果被设置在文本框的最右端,该计算器的一个特 点是可直接在文本框中输入数据以及进行更改。 辽 宁 工 业 大 学 课 程 设 计 说 明 书(论文) 7 2.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 课程设计 计算器 设计 要点
链接地址:https://www.31doc.com/p-5197262.html