模拟科学计算器课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件学院
课程设计报告书
课程名称面向对象程序设计
设计题目模拟科学计算器
专业班级软件工程11级1班
学号
姓名
指导教师
2013 年6 月
目录
1 设计时间 (3)
2 设计目的 (3)
3设计任务 (3)
4 设计内容 (3)
4.1需求分析 (3)
4.1.1问题描述 (3)
4.1.2基本要求 (3)
4.2总体设计 (3)
4.2.1 包的描述 (3)
4.2.2 类的描述 (4)
4.2.3类之间的关系 (4)
4.3详细设计 (5)
4.3.1类图 (5)
4.3.2页面设计 (6)
4.4测试与分析 (6)
4.5 程序代码 (9)
5总结与展望 (18)
参考文献 (19)
成绩评定 (19)
1 设计时间
2013年6月7日-14日
2 设计目的
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高自身的应用能力。
3设计任务
模拟科学计算器
要求:界面模拟Windows中的计算器程序。
实现基本数学运算、函数等功能:加、减、乘、除、阶乘、正弦、余弦和指数运算。
实现要点:添加相关组件并进行按钮事件处理。
4 设计内容
4.1需求分析
4.1.1问题描述
日常生活中经常需要用到计算器,比如科学计算,数值计算,会计业务等等,在Applet 中实现一个精巧的计算器,可以让用户的操作也更方便和快捷。
4.1.2基本要求
本项目需要实现一个具有四则运算的计算器,能够实现基本的加、减、乘、除运算,以及其他的辅助功能(阶乘、正弦、余弦、指数运算);界面简洁实用,模拟Windows中的计算器程序。要提供主要的设计思路、类的设计。
4.2总体设计
4.2.1 包的描述
本程序导入了
java.awt.BorderLayout包,
java.awt.Color包,
java.awt.GridLayout包,
java.awt.event.ActionEvent包,
java.awt.event.ActionListener包,
java.text.DecimalFormat包,
javax.swing.JButton包,
javax.swing.JFrame包,
javax.swing.JPanel包,
javax.swing.JTextField包
4.2.2 类的描述
本程序共有五个类。
其中Calculator是主类,main方法里会建立一个Calculator对象。
Signs类为内部类,是一个监听器类,实现Actionlistener,实现运算符号的事件监听。当运算符号为一目运算符(sin,cos,n!)时,实现该类的actionPerformed方法,对sin,cos,n!按钮进行事件处理。
Clear类为内部类,是一个监听器类,实现Actionlistener,实现清除按钮的事件监听。当按钮为"C"(清零)或"Backspace"时,实现该类的actionPerformed方法,对C,Backspace按钮进行事件处理。
Num类为内部类,是一个监听器类,实现Actionlistener,实现数字输入的事件监听。当点击0-9这十个数字按钮时,如果是要输入的运算数则将文本框清空后将数字显示在文本框中。
Dot类为内部类,是一个监听器类,实现Actionlistener,实现小数点的事件监听。当点击小数点按钮时,如果文本框中输入值中没有小数点则在文本后加一个小数点。
4.2.3类之间的关系
类Calculator与Signs类、Clear类、Num类、Dot类是依赖关系,Calculator依赖于Signs类、Clear类、Num类、Dot类。Calculator类中初始化init方法中调用addButton 方法,其中创建了Signs类、Clear类、Num类、Dot类的实例,以实现Calculator类的实例的创建。Signs类、Clear类、Num类、Dot类与Calculator类有关联关系。Signs 类、Clear类、Num类、Dot类中的actionPerformed方法中调用了Calculator类中的私有变量tf、IfResult、oper、result、df,与Calculator类中这些变量值相关联。
4.3.1类图
(1)Calculator 类图 (2)Signs 类图 (3)Clear 类图
(4)Num 类 (5)Dot 类
Calculator 类 tf panel1 Panel2 Panel3 IfResult oper result df
calculator () init () addButton () getResult () main ()
Signs 类
actionPerformed ()
Clear 类
actionPerformed ()
Num 类
actionPerformed ()
Dot 类
actionPerformed ()
图4.3.1-1Calculator 类 图4.3.1-3Clear 类
图4.3.1-2Signs 类 图4.3.1-4Num 类
图4.3.1-5Dot 类