JAVA实现计算器课程设计.docx

上传人:h**** 文档编号:26114300 上传时间:2022-07-15 格式:DOCX 页数:13 大小:15.18KB
返回 下载 相关 举报
JAVA实现计算器课程设计.docx_第1页
第1页 / 共13页
JAVA实现计算器课程设计.docx_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《JAVA实现计算器课程设计.docx》由会员分享,可在线阅读,更多相关《JAVA实现计算器课程设计.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、JAVA实现计算器课程设计 JAVA实现计算器课程设计 计算机科学系 计应0701班 指导老师:刘其昌 设计人员:陈秀桃 设计日期:2022年11月10日2022年12月20日 计算器的设计 目录 第一章绪 论 . . (2) 1.1 开发环 境 . . (2) 1.2 基本功能介 绍 . . 2 第二章系统设 计 . (3) 2.1 系统流程 图 . . (3) 2.2 系统功能框 图 . (3) 2.3 需求分 析 . . 4 第三章软件设 计 . (5) 3.1 界面设 计 . . (5) 3.2 代码设 计 . . 5 第四章测试分 析 . . (10) 3.1 程序运行情 况: .

2、. (10) 3.2 程序异常处 理: . . (10) 3.3 测试用 例 . . (11) 3.3.1 加法测 试 . . (11) 3.3.2 减法测 试 . . (11) 3.3.3 乘法测 试 . . (12) 3.3.4 除法测 试 . . 13 第五章结束 语 . . 14 第六章参考文 献 . . (14) 第 1 页共 15 页 计算器的设计 第一章绪论 1.1 开发环境 本系统是利用Java语言在NetBeans IDE6.5环境下开发的,Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更

3、贴近自然的语义,而且有利于软件的维护和继承。 为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。 通过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。使学生通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。 1.2 基本功能介绍 本系统实现了一个简单而

4、实用的计算器,通过这个计算器我们可以进行一些基本的运算操作,它可以进行简单的四则运算(加、减、乘、除)但仅限于十进制下,还可以进行(八进制,十进制,十六进制)之间的相互转换,八进制最多可以输入19位 数,十进制最多可以输入18位数,十六进制最多可以输入14位数,backspace表示退格,clear表示初始化,在window下直接运行(Jsp2022.bat)即可,界面为灰白对称。它的设计按软件工程的方法进行,系统具有良好的界面、必要的交互信息和较好的健壮性;醒目美观的软件封面。使用人员能快捷简单地进行操作。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一

5、定的帮助。 第 2 页共 15 页 计算器的设计 第二章系统设计 2.1 系统流程图 2.2 系统功能框图 第 3 页共 15 页 计算器的设计 说明:在程序中构建类testZ,在其中封装起界面、文本框、按钮、数字、运算符等等成员,再引入成员函数testZ()进行计算器的模拟界面设计;其次设计出事件处理函数,如:运算事件、符号事件、等号事件等等;最后设计运算函数的响应事件。这样设计的好处在于使得程序的实现思维更清晰,易懂,可读性增强。反之则不然。 2.3 需求分析 首先分析这个说要完成的功能,它的主要任务是完成十六进制、十进制、八进制和二进制之间的相互转化,需要包含负数,但不用考虑小数。 其次

6、,确定接口参数。根据功能可知,它传递给外部的就是一个转后的数据,而外部除了需要传递给转化前的数据以外,是否还需要其他参数呢,我们都知道,十进制的负数同样可以利用其他进制进行表示,例如二进制,转化方法是:求十进制数的绝对值对应的二进制数,最高位为1;然后对二进制逐位求反,最高位除外;接着最低一位加1,需要进位的话依次进位,最高位除外。如今的问题就摆在了我们面前,我们如何知道这个数的最高位是第几位呢,也许有人会说,那就用转化后 的前面再加上一位,好,即使这样可以成立,那么-1转化后就是11,3转化后也为11,现在如果需要现在的把这个数二进制数再转化为十进制,那么我们如何知道原来的是正数还是负数呢,

7、如果要转化为十六进制,八进制又当如何呢,经过以上的分析发现,还应该有另外一个参数二进制时的宽度,只有这样才能知道谁是最高位,因此就称这个参数为位宽。 最后,设计类。根据第二步的分析,因为位宽对每一个方法都是一样,所以可能把它作为类的成员变量,而另外两个参数转化前的值和转化后的值就分别作为输入参数和返回值。而类对外的接口只有各个转化的方法,因此这几个方法设计为public权限,而其它所有的辅助方法都为private权限。位宽通过构造函数传递,外部不能直接访问和修改,设置也设置为private权限。为了减少计算量,所有的转化都以二进制为中介。例如十六进制到十进制,是十六进制?二进制?十进制。 第

8、4 页共 15 页 计算器的设计 第三章软件设计 3.1 界面设计 这个就是计算器界面,简洁易用,我们可以从中的数字按键和运算符按钮 进行相应的数学计算,总共由,个按钮(,个数字符+,个运算符号+,个 ,一个标签、再加一个文本框组成。小数点+,个“clear”按钮) 3.2 代码设计 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Caculator public static void main(String args) JFrame frame = new JFrame(Cacul

9、ator); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(new CaculatorPanel(); frame.pack(); frame.setVisible(true); class CaculatorPanel extends JPanel private JLabel namelabel,resultlabel; private JTextField resultField; 第 5 页共 15 页 计算器的设计 private JPanel labelPanel,n

10、umberPanel,toolPanel; private JButton s1,s2,s3,s4,s5,s6,s7, s8, s9,s0, p1,p2,t1,t2,t3,t4,clear; private boolean end,add,sub,mul,div; private String str; private double num1,num2; public CaculatorPanel() namelabel = new JLabel(计算器); resultField = new JTextField(10); ButtonListener listener = new Butt

11、onListener(); clear = new JButton(clear); clear.addActionListener(listener); s1 = new JButton(1); s1.addActionListener(listener); s2 = new JButton(2); s2.addActionListener(listener); s3 = new JButton(3); s3.addActionListener(listener); s4 = new JButton(4); s4.addActionListener(listener); s5 = new JB

12、utton(5); s5.addActionListener(listener); s6 = new JButton(6); s6.addActionListener(listener); s7 = new JButton(7); s7.addActionListener(listener); s8 = new JButton(8); s8.addActionListener(listener); s9 = new JButton(9); s9.addActionListener(listener); s0 = new JButton(0); s0.addActionListener(list

13、ener); p1 = new JButton(.); p1.addActionListener(listener); p2 = new JButton(=); p2.addActionListener(listener); t1 = new JButton(+); t1.addActionListener(listener); t2 = new JButton(-); t2.addActionListener(listener); t3 = new JButton(*); t3.addActionListener(listener); t4 = new JButton(/); t4.addA

14、ctionListener(listener); labelPanel = new JPanel(); labelPanel.add(namelabel); labelPanel.add(resultField); labelPanel.add(clear); numberPanel = new JPanel(); numberPanel.setLayout(new GridLayout(4,3); numberPanel.add(s1); numberPanel.add(s2); numberPanel.add(s3); numberPanel.add(s4); numberPanel.ad

15、d(s5); numberPanel.add(s6); numberPanel.add(s7); 第 6 页共 15 页 计算器的设计 numberPanel.add(s8); numberPanel.add(s9); numberPanel.add(s0); numberPanel.add(p1); numberPanel.add(p2); toolPanel = new JPanel(); toolPanel.setLayout(new GridLayout(4,1); toolPanel.add(t1); toolPanel.add(t2); toolPanel.add(t3); too

16、lPanel.add(t4); setPreferredSize(new Dimension(500,200); setBackground(Color.cyan); add(labelPanel); add(numberPanel); add(toolPanel); public void num(int i) String s = null; s=String.valueOf(i); if(end) /如果数字输入结束,则将文本框置零,重新输入resultField.setText(0); end=false; if(resultField.getText().equals(0) /如果文本框的内容为零,则覆盖文本框的内容resultField.setText(s); else /如果文本框的内容不为零,则在内容后面添加数字

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁