资源描述
计算器的设计与实现
13
2020年4月19日
文档仅供参考,不当之处,请联系改正。
报告编号:第 10组
综合课程设计报告
计算器的设计与实现
学生姓名: 周敏 黄厚变 李兴 崔欣钰
指导教师: 李杰
所 在 系: 电子工程系
所学专业: 计算机科学与技术
年级班级: 15级计算机(1)班
年12月13日
计算器的设计与实现
摘要
在日常生活或工作中,为避免复杂繁琐的计算过程,我们在eclipse的环境下用Java语言实现了计算器。该系统实现了加法、减法、乘法、除法、求余、开平发根等运算功能以及退格、清零、非法小数点报错等功能。在计算器的设计过程中,需要对面向对象程序设计有一定的了解。计算器设计的核心在于其健壮性,我们的程序只体现了部分健壮性,例如在做除法运算时除数不能为零。因为只体现了部分健壮性,因此我们的程序只能满足用户的基本计算需求,帮助用户节省计算时间。
关键字:计算器设计 面向对象 健壮性
第一章 前言
1.1项目名称
java 简易计算器的设计与实现
1.2设计目的
1)熟悉并掌握常见组件的事件接口和应用awt,swing组件进行应用程序设计
2)该系统实现了基本的四则运算功能。我们在日常生活中经常遇到一些简单而繁琐的计算问题,而我们设计的简易计算器能够帮助我们节省计算时间。
1.3设计特点
该程序与其它程序不同之处在于此设计为简易版的计算器,能使用户快速掌握操作方法,为用户节省运算时间,提高工作效率。同时用户在使用此设计时不一定能正确输入字符的顺序和次数,因此根据这类情况,程序做出了相应提示或纠正,更倾向于人性化。
第二章 需求分析
2.1前景分析
随着科技的发展,在人们的日常生活中电子产品越来越常见,而人们也越来越依赖于计算器。生意人用它来算账,学生用它来做数学算术题。计算器除了实用以外,它的耐用程度也不能小看。一个好的计算器能够使用几年甚至于十几年而不坏。由此可见计算器还是一种很受人们喜爱的电子产品。
2.2功能需求分析
在程序设计的过程中,要求计算器实现简单的加、减、乘、除四则运算和开平方根,取余等功能。同时还要实现数据的输入、输出、存储、清零等功能。
2.3开发环境分析
该程序是在eclipse开发环境下编写的,用java语言实现的简易计算器,系统环境为window10。
3.2运算模块
3.1系统划分模块
运算模块
存储模块
计算器
图3.1系统划分模块
图3.2运算模块
非四则模块
四则模块
运算模块
运算模块主要四则运算模块和非四则运算模块。如图3.2所示
系统划分模块主要分为运算模块和存储模块。如图3.1所示
第三章 概要设计
第四章 详细设计
4.1清零模块流程图
输入数字,运算符号后,若想再次进行计算,则进行清零,若不想再次进行计算,则结束
图3.1 清零模块流程图
否
是
键入C
结束
是否继续计算
计算结束后
4.2四则运算模块流程图
输入两个数字,运算符号(+、—、*、/),判断是否继续,若继续,则键入C,再次输入数字,运算符号,若不继续,则结束。如图4.1所示:
图4.2四则运算模块流程图
否
键入C
是
结束
是否继续
键入符号“=”
键入数字
键入运算符
键入数字
开始
4.3非四则运算流程图
输入两个数字,运算符号(开平方符号、取余符号),判断是否继续,若继续,则键入C,再次输入数字,运算符号,若不继续,则结束。如图4.3所示:
开始
结束
键入C
是
否
是否继续
键入符号“=”
键入运算符
键入数字
图4.3非四则运算模块流程图
第五章 系统的实现
5.1类与函数
该程序用JFrame类创立了一个窗体,用JButton类创立了按钮组件,用JPanel类创立了面板对象,并使用add方法将按钮组件添加到面板中,用JTextComponent类的子类JTextField类创立了一个文本框,再由各个子类调用相应的构造函数实现各模块的不同功能。
5.2各种功能的实现
1) 整体界面
利用java各种图形组建完成计算器的整体界面,如图5.1所示:
图5.1整体界面
2)加法
输入6+8,结果如图5.2所示:
图5.2加法
3)减法
输入10-8,结果如图5.3所示:
图5.3减法
4)乘法
输入5*8,结果如图5.4所示:
图5.4乘法
5)除法
输入86/2,结果如图5.5所示:
图5.5 除法
6)取余
输入8%5,结果如图5.6所示:
图5.6取余
7)开平方根
输入sqrt(8),结果如图5.7所示:
图5.7开平方根
8)报错
输入6..,结果如图5.8所示:
图5.8报错
第六章 设计小结
经过一周的实训,我们用Java语言实现了此次简易计算器的设计。计算器能完成加、减、乘、除四则运算,开平方根运算,取余运算,退格和清零等基本功能。
在做此设计的时候,我们也遇到很多没有解决的问题。比如说,在整个运算过程中要如何确保输入的计算数据哪个是第一个计算数据,哪个是第二个计算数据,同时也要区分运算符,因为该计算程序应用的都是利用字符串来完成计算的,而且不能重复输出运算符。也得考虑用户不小心重复点击了运算符按钮是否会造成第一个计算数据的重新赋值。也就是说我们还没有完全实现计算器的健壮性,与市面上的计算器相比还 存在很大差异。
随着实训的结束,我们的Java课程也即将结束,虽然只有短短一周,但每天都有很大的收获,我们深入探究Java的步伐也不能停止。同时我们还体会到团队合作的重要性。在以后的学习中,我们希望能解决这次设计中没能实现的功能。例如,余弦,正弦,正切和立方根等更高级的运算,也希望能解决上述出现的运算缺陷。相信在不久的将来,我们能设计出更全面和更完善的计算器为人们带来方便。
参考文献
[1] 《Java语言程序设计》 .(第三版) 张思民著 北京:清华大学出版社 12月
[2] 《Java面向对象程序设计》.(第二版)GeraldWeiss著 北京:清华大学出版社 10月
展开阅读全文