资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
JAVA大作业简易计算器 课程名称: Java开发技术 教学班级: B02班 学 院: 信息管理学院 20132014学年第1学期(第 1 册共 1 册)目录1 引言31.1 开发背景31.2 项目目标31.4 计算器的基本情况32技术支持32.1 Applet概述33系统设计及实现43.1 系统功能实现43.2 系统界面设计43.3 系统函数功能说明54 计算器的测试54.1 测试“输入”功能54.2 测试“输出结果”功能74.3 测试“清零功能”功能75 分析与总结85.1 个人总结81 引言1.1 开发背景电脑已经深入到日常生活和工作的方方面面,例如文字办公、信息管理、图像处理、游戏娱乐等,尤其是游戏。电脑游戏行业经过二十年的发展,已经成为与影视、音乐等并驾齐驱的全球最重要的娱乐产业之一,其年销售额超过好莱坞的全年收入。Java语言作为一种面向对象的编程语言,具有分布式、可移植性、高性能、多线程等特点。对于一名学生来说,在系统的学习了Java后,面对这次的大作业,正好将学过的Java语言中的各种技术综合起来编写小程序。即对自己学过的技能进行一次检验,也能系统的将学过的知识复习巩固。1.2 项目目标开发一个计算器小程序,具有整数和小数的加减乘除功能,数据记忆清除功能。1.3开发环境 Eclipse3.5 Java集成开发环境1.4 计算器的基本情况最早的计算工具诞生在中国。 中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。这种算筹多用竹子制成,也有用木头,兽骨充当材料的约二百七十枚一束,放在布袋里可随身携带。 直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。 17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的纳皮尔算筹,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。 1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是只能做加减计算。1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,一直要到20世纪50年代末才有电子计算器的出现。2技术支持2.1 Applet概述小应用程序(Applet)是指采用Java创建的基于HTML的程序。浏览器将其暂时下载到用户的硬盘上,并在Web页打开时在本地运行。小应用程序(Applet)是可通过因特网下载并在接收计算机上运行的一小段程序。小应用程序通常用Java语言编写并运行在浏览器软件中,applet典型用于为万维网网页页面定制或添加交互格式元素。 Applet可以翻译为小应用程序,Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以直接嵌入到网页或者其他特定的容器中,并能够产生特殊的效果。Applet必须运行于某个特定的“容器”,这个容器可以是浏览器本身,也可以是通过各种插件,或者包括支持Applet的移动设备在内的其他各种程序来运行。与一般的Java应用程序不同,Applet不是通过main方法来运行的。在运行时Applet通常会与用户进行互动,显示动态的画面,并且还会遵循严格的安全检查,阻止潜在的不安全因素(例如根据安全策略,限制Applet对客户端文件系统的访问)。 在Java Applet中,可以实现图形绘制,字体和颜色控制,动画和声音的插入,人机交互及网络交流等功能。 Applet还提供了名为抽象窗口工具箱(Abstract Window Toolkit, AWT)的窗口环境开发工具。 AWT利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等等。在网络上有非常多的Applet范例来生动地展现这些功能,读者可以去调阅相应的网页以观看它们的效果。3系统设计及实现3.1 系统功能实现1. 通过按钮事件来获得用户的输入。通过ActionEvent的getSource()得到被激发的按钮,从而获得输入。通过两个标记记忆上一次输入的情况,当前输入的是数字,如果上一次输入的是数字,那么就将这次输入的数字加到原来text的末尾。如果上次输入的是算术符,那么就重置text。当前输入的是算术符,则计算当前结果total=total运算符text2.通过计算将结果输出到JTextField中。3.清零功能。3.2 系统界面设计为了实现所需要的功能,同时又便于使用,计算器系统的界面设计得比较简单,如下图所示。 计算器系统界面3.3 系统函数功能说明 函 数 功 能Result()显示输入和结果的函数Number_Key()添加数字键的函数actionPerformed(ActionEvent e)触发事件setLayout(new BorderLayout()设置边框布局的函数addActionListener()监听事件getSource()得到被激发的按钮4 计算器的测试以下测试内容都是针对界面中的一些功能进行分类别的测试。4.1 测试“输入”功能(1)当前输入的是数字: (2)当前输入的是运算符+:4.2 测试“输出结果”功能根据上面的:87+2:4.3 测试“清零功能”功能需要计算另一组数据时,需要清零,点击ce: 清零前: 清零后: 5 分析与总结5.1 个人总结在版面布局上定义了两个面板,一个是用来放置和布局所有按钮,用的版面控制器是GridLayout,设为6行3列,并设置了组件与组件之间的约束为10,另一个用来放置。在事件处理中。ActionPerformed是这个程序最重要的函数,每个按钮都与数字、运算符或者功能符一一对应。通过ActionEvent的getSource()得到被激发的按钮,从而获得输入。通过两个标记记忆上一次输入的情况,当前输入的是数字,如果上一次输入的是数字,那么就将这次输入的数字加到原来text的末尾。如果上次输入的是算术符,那么就重置text。当前输入的是算术符,则计算当前结果total=total运算符text6附录:import javax.swing.*;import java.awt.*;import java.awt.event.*;/计算器显示结果的窗体class Result extends JPanel/text显示输入和结果JTextField text=new JTextField(0);Result()/将输入的数字或得到的结果在text的右边显示text.setHorizontalAlignment(SwingConstants.RIGHT);text.enable(false); /文本框不能编辑setLayout(new BorderLayout(); /设定布局管理器边框布局add(text,BorderLayout.CENTER); /text放置在窗体的中间/计算器数字按钮定义面板class Number_Key extends JPanelJButton zero=new JButton(0); /数字键0JButton one=new JButton(1); /数字键1JButton two=new JButton(2); /数字键2JButton three=new JButton(3); /数字键3JButton four=new JButton(4); /数字键4JButton five=new JButton(5); /数字键5JButton six=new JButton(6); /数字键6JButton seven=new JButton(7); /数字键7JButton eight=new JButton(8); /数字键8JButton nine=new JButton(9); /数字键9JButton plus=new JButton(+); JButton sub=new JButton(-); JButton mul=new JButton(*); JButton div=new JButton(/); JButton equal=new JButton(=); JButton ce=new JButton(ce); /置零键 JButton point=new JButton(.); JButton tzero=new JButton(00); Number_Key()/定义布局管理器为网格布局setLayout(new GridLayout(6,3,10,10);/添加各个按钮键add(seven);add(eight);add(nine);add(four);add(five);add(six);add(one);add(two);add(three);add(zero);add(tzero);add(plus);add(sub);add(mul);add(div);add(point);add(equal);add(ce);/计算器主类public class Calculator extends JFrame implements ActionListenerResult result=new Result(); /定义text的面板Number_Key number_key=new Number_Key(); /定义按钮面板boolean com=false; /当单击按钮+、-、*、/ 时,com=trueint i=0; /当
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号