- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
摘 要
计算器一般是指“电子计算器”,该名词由日文传入中国。计算器是能进行数学运算的手持机器,拥有集成电路芯片,结构简单,功能较弱,但由于它使用方便、操作简单、价格低廉,因而广泛运用于商业交易中,也是必备的办公用品。
该程序是一个图形界面的java计算器使用人员能快捷简单地进行操作。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。可以进行简单的四则运算(加、减、乘、除,退格, 归零表示初始化,界面为灰白。摘 要 I
1 绪论 1
1.1 课程设计的目的 1
1.2 课程设计的任务与要求 1
2 需求分析 2
2.1 功能需求 2
2.2 出错处理 2
2.3 数据处理 2
2.4 系统环境要求 2
3 概要设计 3
3.1 界面及功能描述 3
3.2 简要的设计流程 3
4 详细设计 5
4.1 计算器界面的设置 5
4.2 类层次中各个类的描述 5
5 系统运行测试 7
5.1 初始运行界面 7
5.2 按键测试 7
5.3 运算符重复输入测试 7
5.4 被除数为0的测试 7
5.5 backspace按键越界操作 8
5.6 优先级程序计算 8
5.7 输出测试 8
6 总结 10
参考文献 11
附录(源代码) 12
1 绪论
1.1 课程设计的目的
计算器在我们的生活中常常会使用到,本次课程设计,通过界面以及其中的逻辑处理,完成了四则运算的处理。通过awt包或者swing包中的界面设计部分对界面设计的细节可以有更多的了解。利用面向对象的思想,将各个组件的事件响应分别用不同的类表达出来。面向对象的思想从很大程度上可以让程序的思路更加清晰,而且可重用性很高。对于具有相同事件响应的组件则可以调用相同的类来处理事件。除此之外,利用栈的知识来解决运算符优先的问题也让我们对java中的栈有了更多的了解。
1.2 课程设计的任务与要求
a. 使用Java的awt包或Swing包的类库设计图形界面的计算器
b 该计算器能够完成加减乘除的四则混合运算(注意运算优先级)
c 使用图形界面中的事件委托机制来处理事件响应
2 需求分析
2.1 功能需求
用户能够完成四则混合运算+、-、*、/,并且计算器能够自动的识别运算符的优先级,根据输入的运算公式,自动计算出相应的结果。同时完成计算器中的backspace、ce按钮,能够完成消除或者删除的功能。
2.2 出错处理
当用户如果按下的是除零的操作,显示框将显示“被除数不能为0”。
当用户如果连续多次按下运算符,计算器自动记忆第一次运算符,并且做防连续输入相同的运算符或者是不同的运算符。
当用户在同一个数据中多次输入小数点,计算器能够自动判断小数点重复,自动只记忆第一个小数点。
当用户在同一个数据中输入多个负号,计算器能够自动做重复检查,不显示多余的负号。
当用户在使用backspace功能删除越界数据时候,计算器自动做相应处理。
2.3 数据处理
在程序的起始,建立了两个栈,分别用来存储操作数和操作符。在计算器的核心运算代买中,运用这两个栈来实现算法中的优先级的处理,使用“#”号来标记目标计算公式的结束。目标计算公式通过计算器的键盘实现输入,当按下“=”号之后,计算器通过调用计算器核心函数来实现数据的处理。
2.4 系统环境要求
操作系统:WIN XP或更高版本
开发语言:java
开发工具:eclipse
3 概要设计
3.1 界面及功能描述
(1)界面布局。创建一个面板,先将所有按钮:所有数字键和运算符键等放在面板上,采用网格布局,具体设计为4行,4列的网格,十六个格子。再添加一个1行4列的网格布局来放置三个功能键:归零,退格,输出。然后,对以上两个面板,采用BorderLayout布局,将按键面板放在计算机的中部,功能键面板放右上角,作为一个新的面板。最后,将文本框放在左上角,新面板放中央,采用边界布局管理器,做为界面的整体布局,这样界面布局就搞定了。
(2)按退格键,将返回到前一次输入状态。
(3)按归零键,输入的数字第一个数字为零。
3.2 简要的设计流程
图3.1 简要的设计流程图
4 详细设计
4.1 计算器界面的设置
本程序的实现使用了swing和awt两个包,主题程序界面按键根据微软计算器的布置界面进行设置,采用比较人性化的常规按键排布。返回计算结果的“=”号键使用了两倍于普通按键面积的设计,使的击中的概率更加大。
整体界面是采用了BorderLayout布局,通过4个panel进行布局的详细划分,panel3用来存储位于panel4左下角的GridLayout(1,2,4,4)布局,panel1、panel2、panel3分别
文档评论(0)