版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于JAVA的计算器的设计与实现学院(系):软件学院专 业:软件工程学 生:学 号:班 级:指导教师: 完成日期2016 年 10月基于JAVA的计算器的设计与实现摘要该文档是关于对Java版计算器的功能进行描述和介绍,该程序是要个图形界面的简单Java计算器,具有良好的界面使用人员能快捷简单的进行 操作。即时准确的获得需要的计算结果,充分降低了数字计算的难度和节约 了时间,对人们的生活有一定的帮助。可以进行简单的四则运算(加、减、 乘、除等)。界面简单易操作,具体程序实现了:(1)实现简单的加、减、乘、除、运算。(2) 实现了除了加、减、乘、除按钮外其他按钮功能,如:C表示清 零,del表示
2、删除。(3)实现了连续运算能力。关键词:Java语言四则运算计算器功能分析3本章小结3第一章:绪论1,java 版计算器的意义与结构(1)java 版计算器的意义所谓计算器一般指的是电子计算器。计算器是日常生活中十分便携有效的工具,能 够实现加减乘除等简单的运算功能。本论文采用了 java 编程语言实现计算机的功能。该 计算器大大降低了数字计算的难度并且提高了计算准确度和精确度。使用简单,适合广 大工作人员和学生使用。随着信息时代的步伐 , 越来越得多的数字需要我们去处理,然而在我们日常生活中 遇到的一些基本数字运算,以往简单的口算笔算,然而现在不同了,人们对计算机手机 的依赖越来越高, 遇到
3、计算机问题不愿意用脑去思考, 而是交由计算机或者手机来完成。 为了给自己设计一个能够胜任自己学习的工作机会的计算器,决定自己通过所学的知识 来编写一个简单的计算机。(2)论文结构本文共分为 8 章,各章的主要内容介绍如下:第一章:首先介绍课题研究的意义, java 版计算器的主要意义以及本论文的组织结 构。第二章:主要介绍系统开发的平台, 主要关键技术如下: Frame 创建,按钮的创建。 第三章:主要介绍本系统的可行性分析, 性能分析,用户功能需求分析, 需求分析, 面向对象分析,主要功能分析。第四章:主要介绍系统设计,概念设计,包括功能模块图,详细设计,时序图,流 程图以及概述,还有逻辑设
4、计。第五章:主要介绍系统实现, 主要编码和实现过程。 主要功能界面, 界面流程描述, 核心代码。第六章:主要介绍总结与展望 第七章:主要介绍参考文献,在完成代码的过程中参考的书籍都有哪些; 第八章:致谢:感谢老师的指导,感谢同学的指引,感谢同学们在学习过程中提供 的素材和帮助。还有在论文以及排版的过程中提供的热心帮助。本章小结:本章主要介绍了 java 版计算器的意义,以及本论文结构。第二章:开发平台简介与关键技术1,开发平台简介(1)Java 平台Java 是一个可以在不同操作系统 (例如 windows,unix 等)上运行的编程语言, Java 平台是指运行在各终端(如pc,服务器,移动
5、设备,嵌入式设备)的系统软件。PC机上的 Java 程序是 javaSE 上开发出来的,服务器端的 java 程序是 javaEE 开发出来的,移 动设备的java程序是用JAVAM开发出来的。Java 语言在网络编程方面应用得很广泛, 作为一个新的程序设计语言, 它简单多变, 面向对象,不依赖操作系统的特点,具有很好的移植性和安全性,这些特点给网络编程 带来了很多便利。 Java 的平台根据用途来区分,可以分为三个版本。JavaSE Java Standard Edition ,这个是 Java 的标准版,主要用于桌面级的应用 和数据开发。JavaEE-Java Enterprise Edi
6、tion,这个是 Java 的企业版本,提供了企业级开发的各种技术,主要用于企业开发,现在用的最多的也就是这个平台。JavaME-Java Micro Edition ,这个版本烦人 java 平台主要用于嵌入式和移动式的 开发,最常用的就是手机应用软件开发。Java 作为一门优秀的编程语言,相对于其他类似的语言具有一定的优越性,这是由Java 语言的如下特点决定的。Java 语言具有简单,面向对象,分布式,安全,可移植性,多态的特点。Java 语言是一种面向对象的语言,通过理解一些重要的概念就能编写出各种功能的 代码。Java 语言主要集中用在类的设计和接口功能方面,提供了继承及多态的机制,
7、对类 中的成员变量和方法可进行覆盖和重写,实现了代码的重复使用,使代码编写简单。Java 语言不支持指针,所有的访问,必须通过具体的对象变量来实现,这样既保护 了私有变量,同时也避免了一些错误。Java 语言编译产生的文件是字节码文件,字节码文件和平台无关。Java 语言支持多线程技术,将多个程序任务分成几个并行的子任务。( 2) windows 系统1980 年,乔布斯介绍了一项新技术,用户图形界面,比尔盖茨也意识到这项技术的 潜在的价值,于是带领微软开始了 Winows工作。1985年又发布了第一代窗口式多任务系 统,该操作系统的推出,意味着 PC机开始进入了图形界面,大部分操作对象都用相
8、应的 图标来表示,这种操作界面形象直观,随着不断的改进,它还增加了几个系统工具,用 于自动检测硬盘,文件系统和配置信息,可以自动修复一些一般性的系统错误。内部还 安置了大量的驱动程序,基本上包括了市面上流行的各种品牌,各种型号硬件的最新驱 动程序,而且硬件检测能力也有了很大的提高。同时,还提供了文件分配系统,可支持 2G以上的大分区,而对硬盘,无需重新分区和格式化,直接可以使用转换器转换。把最 新的多媒体技术,网络技术和 Internet 技术结合在了一起, 使访问网络更加方便和快捷。技术是在不断进步的, 操作系统也在不断更新, 没有那个版本的操作系统是永恒的主 流,因此,我们在学习和使用某个
9、操作系统的过程中把握住它的最基本的方面,并在此 基础上进行大胆的尝试和创新,从而跟上它的发展步伐。(3)eclipse 环境Eclipse是一个开放源代码的,基于Java可扩展开发平台。就其本身而言,它只是一个框架和一组服务, 用于通过插件组成构建开发环境。 幸运的是, Eclipse 附带了一个 标准的插件集,包括 Java 开发工具( Java Develepment Tools,JDK ).Eclipse 是一个开放源代码的软件项目,专注于为高度集成的工具开发提供一个全功 能的,具有商业品质的工业平台。它主要由 Eclipse 项目, Eclipse 工具项目和 Eclipse 技术项目
10、三个项目三个项目组成,具体包括四个部分组成 Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集 成软件开发工具的基础。 Eclipse Platform 允许工具建造者独立开发与其他工具无缝集 成的工具从而无需分辨一个工具功能在哪里结束,而另外一个工具功能在哪里开始。软件开发包是Eclipse是Eclipse Platform,JDT和PDE所生产的组件合并,它们可 以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效的 建造可以无缝集成到 Eclipse Platform 中的工具。Eclipse SDK由E
11、CLIPSE项目生产的 工具和来自其它开放源代码的第三方软件组合而成。 Eclipse 项目的生产的软件以 GPL 发布,第三方组件各自自身的许可协议。2,关键技术简介(1)JFrameJava 的GUI程序的基本思路是以JFrame为基础的,它是屏幕上window的对象,能 够最小化和最大化,关闭。它的基本板块是 swing, swing 的三个基本构造块是标签,按 钮,文本字段。并希望用户知道如何处理它们。JFrame类就是解决这个问题-它是一个容器,允许程序员把其他组件添加到它里面, 把它们组织起来, 并把它们呈现给用户。JFrame 实际上仅仅让程序员把组件放入其中并呈现给用户。比起它
12、表面的上的简单 性,它实际上是 Swing 包中最复杂的组件。为了最大程度地简化组件,在独立于操作系 统的Swing组件与实际运行这些组件系统之间,JFrame起着桥梁作用。JFrame在操作系 统中是以窗口的形式注册的,这样就可以得到许多的窗口特性。显示文件在窗体上的类也扩展了 JFrame,读取文件的类也扩展了 JFrame;( 2)按钮的创建: 含义:对话框中的一种图形元素。当激活它时,能执行指定功能。用户可以采用以下 方法来激活按钮:用鼠标在其上单击,或者当按钮获得聚焦时按下 enter 键。在 button 元素内部,您可以放置内容,比如文本或图像。使用:创建按钮在窗体上,用来窗体跳
13、转的连接。点击按钮来实现跳转。关键字:setBounds 表示按钮的大小位置setText 表示按钮上显示的内容Button b=new Button ()用来创建对象。(3)initGUIGUI的全称为Graphical User In terface,简称GUI,又称图形用户接口 ,是指采用图形方式显示的计算机操作用户界面。图形用户界面是一种人与计算机通信的界面显示格 式,允许用户使用鼠标等输入设备操纵屏幕上的图标或者菜单选项, 以命令,调用文件, 启动程序或执行其他一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的 字符界面相比,图形界面有许多有优点。图形界面由窗口,下拉菜单,对
14、话框以及其相 应的控制机制构成,在各种样式应用程序中都是标准化的,既相同的操作总是以同样的 方式来完成,在图形用户界面,用户看到和操作的都是图形对象。GUI即人机交互图形化用户界面设计。GUI的广泛应用是当今计算机发展的重大成就 之一,它极大地方便了非专业用户的使用。人们从此不再需要死记硬背大量的命令,取 而代之的是可以通过窗口,菜单,按键等方式来方便地进行操作。而嵌入式GUI具有下面几个方面的基本要求: 轻型,占用资源少,高性能,高可靠性, 便于移植,可配置等。 3,本章小结本章主要讲述本课程设计用到所用到的关键技术,以及关键的知识点。本系统是在 Windows系统Java平台下eclips
15、e环境下完成的,所以窗体的创建,按钮的创建这都是 Java 典型的程序开发。第三章:需求分析1,可行性分析:(1)实用性分析 在我们日常生活中,计算开支收入时,大额数字或者是多倍小数的计算都需要计算 器的帮助, 而在学习一些科目是, 也常常要处理数字。 虽然现在的计算器价格比较低廉, 但是功能过于简单计算器不能满足个人需求,多功能的价格比较贵,很多功能根本用不 到。所以我们想用自己所学知识设计开发一个属于自己的简单计算器来完成学习生活的 需求。(2)经济可行性 本课程设计的开发过程中,不需要其他额外的经济成本,所以经济是具有良好的可行性的。2, 需求描述(1)编写目的a :复习巩固java语言
16、的基础知识,进一步加深对java语言的理解和掌控。通过 本课程设计使我们能够全面的掌握面向对象设计的有关概念和开发方法,以便能较全面 的理解掌握和综合运用所学的知识,提高自身的编程能力。设计uige计算器的界面,定义计算器所需的按钮并赋予给其他按钮名称,使得使用计算器时简单明了,清晰可见, 操作轻松。b :课程设计为大家提供了一个既动手又动脑,独立实践的机会,将课本上的理论 知识和实际有机结合起来,锻炼我们的分析解决实际问题的能力。提高魔门适应实际, 实际编程的能力。给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就 开始执行那个按钮所定义的算法,生成算法并显示。c :培养我们在项目
17、开发中创新意思及能力,通过亲身实践,利用所学编写简单的 面向对象程序,提高对面向对象及java语言的理解。(2)功能模块设计a :加法两个数据进行加法操作,可以为小数b :减法两个数据进行减法操作c :乘法两个数相乘操作d :除法两个数相除操作e :开平方两个非负数进行开方运算,可以是小数3, 面向对象分析(1)含义:面向对象分析一种新的系统分析方法。它采用的是面向对象的风格进行系统分析和需 求定义的重要方法。面向对象分析的关键在于理解问题控件并将其模型化。面向对象分析采用人们认识客观事物和理解现实世界过程中常用的基本法则:a :认识对象以及其属性;b:认识对象的整体及其组成部分;c:对象的形
18、成及类的区分;d:对问题空间进行理解并抽象成模型;面向对象分析有五个阶段:标识对象,标识结构,标识主题,定义属性,定义服务, 即分五个层次建立面向对象分析的模型。面向对象分析的优点是使功能分析与数据分析 统一的概念和方法,克服了结构化分析中两者之间的不一致性和协调性。(2):系统功能图:开方加法运减法预计算器相反数(3)用例图:用户显示结可行性分析在第一章也有所体5,本章小结: 本章主要介绍了系统的可行性分析以及各种需求分析 现,本系统具有良好的发展前景,并且技术也比较常用,成熟,经济可行性良好,数据 可行性也良好。Java环境对开发程序对性能的需求较高。第四章系统设计1,概要设计(1)含义:
19、概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架的过程, 其结果往往以反映交互控件布置,界面元素分组以及界面整体版式的页面框架图的形式 来呈现。这是一个在用户研究和设计之间架起的桥梁,使用户研究和设计无缝结合,将 用户目标与需求转换成具体界面设计解决方案的重要阶段。概要设计的主要任务是把需求分析得到的系统扩展用例图转换成软件结构和数据结 构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分,建立模块的层 次结构及调用关系,确定模块间的接口及人机界面等。数据结构设计包括数据特征的描 述,确定数据的结构特性,以及数据库的设计。显然,概要设计建立的是目标系统的逻 辑模型。(2)
20、模块图计算器(3)概述:标准计算器的界面采用“图形界面程序 (GUI)”。GUI为用户和应用程序之间 的交互提供了直观方便的交流方式。用户使用鼠标键盘操作图像界面上的按钮菜单等单 位元素向计算机系统发送命令,系统运行的结果以图形的方式显示给用户。2,详细设计(时序图)(1)时序图如果所示用按钮界面结果显示界面11,点击按钮,接受到数据,获取信息,将要显示界面,显示6,用户查看结果(2)概述:a :用图形界面实现界面;b :通过设置布局,控件等来丰富界面; c :按钮键接收数据,处理后显示结果;第五章:系统实现1:主要功能界面图2:界面功能描述(1)加法运算本计算器可以实现多个运算数相加,例如:
21、1+2+3运算结果为 6(2)减法运算本计算器可以实现多个运算数相减,例如:4-3-2运算结果为 -1(3)乘法运算本计算器可以实现多个运算数相乘,例如:2*3*4运算结果为 24(4)除法运算 本计算器可以实现多个运算数相除(除数不为 0)例如: 15/5/3 运算结果为 1,当除数为 0 时,计算器无法运算显示结果为 0(5)求相反数 本计算器可以求任意一个数的相反数,例如: 1 的相反数 所求结果为 -1(6)开方运算 本计算器可以对非负数进行开方运算,例如: 9 开方 运算结果为 33,核心代码:(1)窗口和按钮面板public Calculator。etScree nSize().w
22、idth;double height = ().getScree nSize().height;(i nt) (width - WIN_W) / 2, (i nt) (height - WIN_H) / 2, WIN_W, WIN_H);2杨武,刘贞java编程及应用,北京:高等教育出版社.20043 丁振凡java语言使用教程,北京邮电大学出版社第六章:致谢在此我要感谢我的老师在课程设计上给予我们的指导和给予的帮助,这是我们能顺利完成这次课程设计的主要原因,更重要的是老师在课堂上精彩的讲解, 让我们在写课程设计时更加完善。 在此期间,我不仅学到了许多新知识,而且也 开阔了视野,提高了自己的设
23、计能力。其次,我要感谢帮助过我的同学,他们为 我解决了很多不太明白的地方,还有一些素材的提供。最后,再次感谢我的老师 和同学,诚心说一句:谢谢!附源代码:import .*;import .*;/* java 版计算器*/public class Calculator extends JFrame final int WIN_W = 295, WIN_H = 292;JPanel myPanel, panelSuper;public Calculator() etScreenSize().width;double height = ().getScreenSize().height;(int)
24、 (width - WIN_W) / 2, (int) (height - WIN_H) / 2, WIN_W, WIN_H);buttonDel = new JButton("del"); buttonC = new JButton("c");buttonGH = new JButton("±");buttonZF = new JButton("(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(6
25、7, 40);(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(67
26、, 40);(new Dimension(67, 40);(new Dimension(67, 40);(new Dimension(67, 40); (buttonDel);(buttonC);(buttonZF);(buttonGH);(button1);(button2);(button3);(buttonJia);(button4);(button5);(button6);(buttonJian);(button7);(button8);(button9); (buttonCheng);(button0); (buttonDian); (buttonDeng); (buttonChu)
27、; (this);(this);(this);(this);(this);(this);(this);(this);(this);(this);(this);(this);(this);(this);(this);(this);(this);(this);(this);(this);() + ".");if (first) d2 = d1 = getNum(); else d2 = getNum(); else if (b = buttonZF) ubtract(d); setFormatNum(d);if (first) d2 = d1 = getNum(); else d2 = getNum(); else if (b = buttonDel) ength(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护士礼仪与医疗质量
- 护理给药的药物选择与调整
- 企业稳定成长持续保障承诺书(9篇)
- 高效备餐家庭厨房智能管理手册
- 弘扬中华美德,争做时代新人,小学主题班会课件
- 培训课件 -Skill是2026年最大的红利 -从会用AI到把专业经验封装成可复制、可销售、可规模化的工作基础设施
- 家庭园艺种植养护全面手册
- 中国资助观察报告(2026)-基于95家资助机构的调研发现
- 公益社区服务参与承诺书范文6篇
- 环保事务全程管理责任书范文3篇
- 2026年十堰市郧阳区公开招聘事业单位工作人员75人笔试参考试题及答案解析
- 某塑料生产企业环保操作准则
- 2026年广西真龙彩印包装有限公司笔试题及答案
- 管幕冻结多管冻结温度场形成规律的深度剖析与应用探索
- 20S515 钢筋混凝土及砖砌排水检查井
- HG-T 3830-2022 预涂卷材涂料
- DBJ-T 13-413-2022 可调式防沉降检查井盖应用技术标准
- 瓦斯爆炸的机理及危害
- 新生儿和低体重新生儿麻醉指南
- 猴子田煤矿 矿业权价款计算结果的报告
- 墙面抹灰施工方案3
评论
0/150
提交评论