收藏 分销(赏)

JAVA计算器专业课程设计.docx

上传人:精*** 文档编号:2421524 上传时间:2024-05-30 格式:DOCX 页数:31 大小:51.43KB
下载 相关 举报
JAVA计算器专业课程设计.docx_第1页
第1页 / 共31页
JAVA计算器专业课程设计.docx_第2页
第2页 / 共31页
JAVA计算器专业课程设计.docx_第3页
第3页 / 共31页
JAVA计算器专业课程设计.docx_第4页
第4页 / 共31页
JAVA计算器专业课程设计.docx_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、基于JAVA计算器设计和实现学院(系): 软件学院 专 业: 软件工程 学 生: 学 号: 班 级: 指导老师: 完成日期 年 10 月基于JAVA计算器设计和实现摘要 该文档是相关对Java版计算器功效进行描述和介绍,该程序是要个图形界面简单Java计算器,含有良好界面使用人员能快捷简单进行操作。即时正确取得需要计算结果,充足降低了数字计算难度和节省了时间,对大家生活有一定帮助。能够进行简单四则运算(加、减、乘、除等)。界面简单易操作,具体程序实现了:(1) 实现简单加、减、乘、除、运算。(2) 实现了除了加、减、乘、除按钮外其它按钮功效,如:C表示清零,del表示删除。(3) 实现了连续运

2、算能力。关键词:Java语言 四则运算 计算器 目 录1,绪论21.1java版计算器意义和结构21.1.1java版计算器意义21.1.2java版计算器论文结构22,开发平台介绍相关技术介绍22.1开发平台介绍22.1.11JAVA平台22.1.2windows系统2 2.1.3eclipse环境-22.2关键技术介绍22.2.1JFrame22.2.2按钮创建2 2.2.3GUI-2 2.3本章小结23,需求分析33.1可行性分析33.2需求描述33.3面向对象分析(用例图)3 3.4功效分析-3 3.5本章小结-34,系统设计34.1概要设计34.2具体设计35,系统实现36,总结和展

3、望47,参考文件48,致谢4第一章:绪论1,java版计算器意义和结构(1) java版计算器意义 所谓计算器通常指是电子计算器。计算器是日常生活中十分便携有效工具,能够实现加减乘除等简单运算功效。本论文采取了java编程语言实现计算机功效。该计算器大大降低了数字计算难度而且提升了计算正确度和正确度。使用简单,适合广大工作人员和学生使用。 伴随信息时代步伐,越来越得多数字需要我们去处理,然而在我们日常生活中碰到部分基础数字运算,以往简单口算笔算,然而现在不一样了,大家对计算机手机依靠越来越高,碰到计算机问题不愿意用脑去思索,而是交由计算机或手机来完成。为了给自己设计一个能够胜任自己学习工作机会

4、计算器,决定自己经过所学知识来编写一个简单计算机。(2)论文结构 本文共分为8章,各章关键内容介绍以下: 第一章:首先介绍课题研究意义,java版计算器关键意义和本论文组织结构。 第二章:关键介绍系统开发平台,关键关键技术以下:Frame创建,按钮创建。 第三章:关键介绍本系统可行性分析,性能分析,用户功效需求分析,需求分析, 面向对象分析,关键功效分析。 第四章:关键介绍系统设计,概念设计,包含功效模块图,具体设计,时序图,步骤 图和概述,还有逻辑设计。 第五章:关键介绍系统实现,关键编码和实现过程。关键功效界面,界面步骤描述, 关键代码。 第六章:关键介绍总结和展望 第七章:关键介绍参考文

5、件,在完成代码过程中参考书籍全部有哪些; 第八章:致谢:感谢老师指导,感谢同学指导,感谢同学们在学习过程中提供 素材和帮助。还有在论文和排版过程中提供热心帮助。本章小结: 本章关键介绍了java版计算器意义,和本论文结构。第二章 :开发平台介绍和关键技术1,开发平台介绍(1)Java平台 Java是一个能够在不一样操作系统(比如windows,unix等)上运行编程语言,Java平台是指运行在各终端(如pc,服务器,移动设备,嵌入式设备)系统软件。PC机上Java程序是javaSE上开发出来,服务器端java程序是javaEE开发出来,移动设备java程序是用JAVAME开发出来。 Java语

6、言在网络编程方面应用得很广泛,作为一个新程序设计语言,它简单多变,面向对象,不依靠操作系统特点,含有很好移植性和安全性,这些特点给网络编程带来了很多便利。Java平台依据用途来区分,能够分为三个版本。 JavaSEJava Standard Edition ,这个是Java标准版,关键用于桌面级应用和数据开发。 JavaEE-Java Enterprise Edition ,这个是Java企业版本,提供了企业级开发多种技术,关键用于企业开发,现在用最多也就是这个平台。 JavaME-Java Micro Edition,这个版本烦人java平台关键用于嵌入式和移动式开发,最常见就是手机应用软件

7、开发。 Java作为一门优异编程语言,相对于其它类似语言含有一定优越性,这是由Java语言以下特点决定。 Java语言含有简单,面向对象,分布式,安全,可移植性,多态特点。 Java语言是一个面向对象语言,经过了解部分关键概念就能编写出多种功效代码。 Java语言关键集中用在类设计和接口功效方面,提供了继承及多态机制,对类中组员变量和方法可进行覆盖和重写,实现了代码反复使用,使代码编写简单。 Java语言不支持指针,全部访问,必需经过具体对象变量来实现,这么既保护了私有变量,同时也避免了部分错误。 Java语言编译产生文件是字节码文件,字节码文件和平台无关。 Java语言支持多线程技术,将多个

8、程序任务分成多个并行子任务。(2) windows系统1980年,乔布斯介绍了一项新技术,用户图形界面,比尔盖茨也意识到这项技术潜在价值,于是率领微软开始了Winows工作。1985年又公布了第一代窗口式多任务系统,该操作系统推出,意味着PC机开始进入了图形界面,大部分操作对象全部用对应图标来表示,这种操作界面形象直观,伴随不停改善,它还增加了多个系统工具,用于自动检测硬盘,文件系统和配置信息,能够自动修复部分通常性系统错误。内部还安置了大量驱动程序,基础上包含了市面上流行多种品牌,多种型号硬件最新驱动程序,而且硬件检测能力也有了很大提升。同时,还提供了文件分配系统,可支持2G以上大分区,而对

9、硬盘,无需重新分区和格式化,直接能够使用转换器转换。把最新多媒体技术,网络技术和Internet技术结合在了一起,使访问网络愈加方便和快捷。技术是在不停进步,操作系统也在不停更新,没有那个版本操作系统是永恒主流,所以,我们在学习和使用某个操作系统过程中把握住它最基础方面,并在此基础上进行大胆尝试和创新,从而跟上它发展步伐。(3) eclipse环境 Eclipse是一个开放源代码,基于Java可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于经过插件组成构建开发环境。幸运是,Eclipse附带了一个标准插件集,包含Java开发工具(Java Develepment Tools,JDK

10、). Eclipse是一个开放源代码软件项目,专注于为高度集成工具开发提供一个全功效,含有商业品质工业平台。它关键由Eclipse项目,Eclipse工具项目和Eclipse技术项目三个项目三个项目组成,具体包含四个部分组成-Eclipse Platform则是一个开放可扩展IDE,提供了一个通用开发平台。它提供建造块和结构并运行集成软件开发工具基础。Eclipse Platform许可工具建造者独立开发和其它工具无缝集成工具从而无需分辨一个工具功效在哪里结束,而另外一个工具功效在哪里开始。软件开发包是Eclipse是Eclipse Platform,JDT和PDE所生产组件合并,它们能够一次

11、下载。这些部分在一起提供了一个含有丰富特征开发环境,许可开发者有效建造能够无缝集成到Eclipse Platform中工具。Eclipse SDK由ECLIPSE项目生产工具和来自其它开放源代码第三方软件组合而成。Eclipse项目标生产软件以GPL公布,第三方组件各自本身许可协议。2,关键技术介绍(1) JFrame JavaGUI程序基础思绪是以JFrame为基础,它是屏幕上window对象,能够最小化和最大化,关闭。它基础板块是swing,swing三个基础结构块是标签,按钮,文本字段。并期望用户知道怎样处理它们。JFrame类就是处理这个问题-它是一个容器,许可程序员把其它组件添加到它

12、里面,把它们组织起来,并把它们展现给用户。JFrame实际上仅仅让程序员把组件放入其中并展现给用户。比起它表面上简单性,它实际上是Swing包中最复杂组件。为了最大程度地简化组件,在独立于操作系统Swing组件和实际运行这些组件系统之间,JFrame起着桥梁作用。JFrame在操作系统中是以窗口形式注册,这么就能够得到很多窗口特征。显示文件在窗体上类也扩展了JFrame,读取文件类也扩展了JFrame;(2) 按钮创建:含义:对话框中一个图形元素。当激活它时,能实施指定功效。用户能够采取以下方法来激活按钮:用鼠标在其上单击,或当按钮取得聚焦时按下enter键。在button元素内部,您能够放置

13、内容,比如文本或图像。使用:创建按钮在窗体上,用来窗体跳转连接。点击按钮来实现跳转。关键字:setBounds表示按钮大小位置setText表示按钮上显示内容Button b=new Button()用来创建对象。(3) initGUIGUI全称为Graphical User Interface,简称GUI,又称图形用户接口,是指采取图形方法显示计算机操作用户界面。图形用户界面是一个人和计算机通信界面显示格式,许可用户使用鼠标等输入设备操纵屏幕上图标或菜单选项,以命令,调用文件,开启程序或实施其它部分日常任务。和经过键盘输入文本或字符命令来完成例行任务字符界面相比,图形界面有很多有优点。图形界

14、面由窗口,下拉菜单,对话框和其对应控制机制组成,在多种样式应用程序中全部是标准化,既相同操作总是以一样方法来完成,在图形用户界面,用户看到和操作全部是图形对象。GUI即人机交互图形化用户界面设计。GUI广泛应用是当今计算机发展重大成就之一,它极大地方便了非专业用户使用。大家以后不再需要死记硬背大量命令,取而代之是能够经过窗口,菜单,按键等方法来方便地进行操作。而嵌入式GUI含有下面多个方面基础要求:轻型,占用资源少,高性能,高可靠性,便于移植,可配置等。3,本章小结本章关键讲述本课程设计用到所用到关键技术,和关键知识点。本系统是在Windows系统Java平台下eclipse环境下完成,所以窗

15、体创建,按钮创建这全部是Java经典程序开发。第三章 :需求分析1,可行性分析: (1)实用性分析 在我们日常生活中,计算开支收入时,大额数字或是多倍小数计算全部需要计算器帮助,而在学习部分科目是,也常常要处理数字。即使现在计算器价格比较低廉,不过功效过于简单计算器不能满足个人需求,多功效价格比较贵,很多功效根本用不到。所以我们想用自己所学知识设计开发一个属于自己简单计算器来完成学习生活需求。 (2)经济可行性 本课程设计开发过程中,不需要其它额外经济成本,所以经济是含有良好可行性。2,需求描述 (1)编写目标 a:复习巩固java语言基础知识,深入加深对java语言了解和掌控。经过本课程设计

16、使我们能够全方面掌握面向对象设计相关概念和开发方法,方便能较全方面了解掌握和综合利用所学知识,提升本身编程能力。设计uige计算器界面,定义计算器所需按钮并给予给其它按钮名称,使得使用计算器时简单明了,清楚可见,操作轻松。 b:课程设计为大家提供了一个既动手又动脑,独立实践机会,将书本上理论知识和实际有机结合起来,锻炼我们分析处理实际问题能力。提升魔门适应实际,实际编程能力。给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始实施那个按钮所定义算法,生成算法并显示。 c:培养我们在项目开发中创新意思及能力,经过亲身实践,利用所学编写简单面向对象程序,提升对面向对象及java语言了解

17、。(2) 功效模块设计 a:加法 两个数据进行加法操作,能够为小数 b:减法 两个数据进行减法操作 c:乘法 两个数相乘操作 d:除法 两个数相除操作 e:开平方 两个非负数进行开方运算,能够是小数3,面向对象分析(1)含义:面向对象分析一个新系统分析方法。它采取是面向对象风格进行系统分析和需求定义关键方法。面向对象分析关键在于了解问题控件并将其模型化。 面向对象分析采取大家认识客观事物和了解现实世界过程中常见基础法则: a:认识对象和其属性;b:认识对象整体及其组成部分;c:对象形成及类区分;d:对问题空间进行了解并抽象成模型;面向对象分析有五个阶段:标识对象,标识结构,标识专题,定义属性,

18、定义服务,即分五个层次建立面向对象分析模型。面向对象分析优点是使功效分析和数据分析统一概念和方法,克服了结构化分析中二者之间不一致性和协调性。(2) :系统功效图:加法运算开方 减法预算计算器乘法运算除法运算相反数图3.1(3)用例图: 计算器输入数据存放数据计算 用户显示结果图3.25,本章小结:本章关键介绍了系统可行性分析和多种需求分析。可行性分析在第一章也有所表现,本系统含有良好发展前景,而且技术也比较常见,成熟,经济可行性良好,数据可行性也良好。Java环境对开发程序对性能需求较高。第四章系统设计 1,概要设计(1)含义:概要设计是一个设计师依据用户交互过程和用户需求来形成交互框架过程

19、,其结果往往以反应交互控件部署,界面元素分组和界面整体版式页面框架图形式来展现。这是一个在用户研究和设计之间架起桥梁,使用户研究和设计无缝结合,将用户目标和需求转换成具体界面设计处理方案关键阶段。概要设计关键任务是把需求分析得到系统扩展用例图转换成软件结构和数据结构。设计软件结构具体任务是:将一个复杂系统按功效进行模块划分,建立模块层次结构及调用关系,确定模块间接口及人机界面等。数据结构设计包含数据特征描述,确定数据结构特征,和数据库设计。显然,概要设计建立是目标系统逻辑模型。(2) 模块图计算器类继承创建按钮创建窗体 图图4.1(3) 概述:标准计算器界面采取“图形界面程序(GUI)”。GU

20、I为用户和应用程序之间交互提供了直观方便交流方法。用户使用鼠标键盘操作图像界面上按钮菜单等单位元素向计算机系统发送命令,系统运行结果以图形方法显示给用户。2,具体设计(时序图)(1)时序图假如所表示 结果显示界面 按钮界面 用 户1,开始 2,点击按钮 3,接收到数据 4,获取信息,将要显示界面 5,显示 6,用户查看结果图4.2(2)概述: a:用图形界面实现界面; b:经过设置布局,控件等来丰富界面; c:按钮键接收数据,处理后显示结果; 第五章 :系统实现1:关键功效界面图5.12:界面功效描述 (1)加法运算本计算器能够实现多个运算数相加,比如:1+2+3运算结果为6 (2)减法运算本

21、计算器能够实现多个运算数相减,比如: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() / 主面板 panelSuper = new JPanel(); panelSuper.setLayou

22、t(null); / 设置窗口位置 double width = Toolkit.getDefaultToolkit().getScreenSize().width; double height = Toolkit.getDefaultToolkit().getScreenSize().height; this.setBounds(int) (width - WIN_W) / 2, (int) (height - WIN_H) / 2, WIN_W, WIN_H); / 窗口配置 this.setTitle(java版计算器); this.validate(); this.setResizab

23、le(false); this.setVisible(true); this.setDefaultCloseOperation(DISPOSE_ON_CLOSE); / 添加计算器按钮面板 myPanel = new MyPanel(); this.add(myPanel, BorderLayout.CENTER); (2)计算器显示器jTextField = new JTextField(25);jTextField.setHorizontalAlignment(JTextField.RIGHT);jTextField.setEditable(false);jTextField.setBac

24、kground(new Color(255, 255, 255);jTextField.setText(0);this.add(jTextField);(3)配置按钮大小button1.setPreferredSize(new Dimension(67, 40);button2.setPreferredSize(new Dimension(67, 40);button3.setPreferredSize(new Dimension(67, 40);button4.setPreferredSize(new Dimension(67, 40);button5.setPreferredSize(ne

25、w Dimension(67, 40);button6.setPreferredSize(new Dimension(67, 40);button7.setPreferredSize(new Dimension(67, 40);button8.setPreferredSize(new Dimension(67, 40);button9.setPreferredSize(new Dimension(67, 40);button0.setPreferredSize(new Dimension(67, 40);buttonJia.setPreferredSize(new Dimension(67,

26、40);buttonJian.setPreferredSize(new Dimension(67, 40);buttonCheng.setPreferredSize(new Dimension(67, 40);buttonChu.setPreferredSize(new Dimension(67, 40);buttonDeng.setPreferredSize(new Dimension(67, 40);buttonDian.setPreferredSize(new Dimension(67, 40);buttonDel.setPreferredSize(new Dimension(67, 4

27、0);buttonC.setPreferredSize(new Dimension(67, 40);buttonZF.setPreferredSize(new Dimension(67, 40);buttonGH.setPreferredSize(new Dimension(67, 40);(4)计算器初始化public void init() d1 = new BigDecimal(0); d1 = new BigDecimal(0); key = =; oper = =; jTextField.setText(0); irst = true; / 用于标识是否进行连续操作 (5)计算 pu

28、blic BigDecimal operate(BigDecimal a1, char c, BigDecimal a2) MathContext mc = new MathContext(10, RoundingMode.HALF_DOWN); switch (c) case +: return a1.add(a2); case -: return a1.subtract(a2); case *: return a1.multiply(a2); case /: if (pareTo(new BigDecimal(0) = 0) init(); return new BigDecimal(0)

29、; return a1.divide(a2, mc); default: return a2;第六章 :总结和展望在设计程序过程中,老师和同学给了我很多帮助和支持,老师认真负责工作态度和严谨治学风格让我深受启发。和同学们之间讨论让我受益匪浅。当然,我还需要不停学习,因为在现在看来,我所设计计算器还存在很多不足,以后还需不停努力完善自己,用知识武装自己,只有使用社会发展需求适应时代发展需求,才能在竞争日益猛烈社会中立足。所以,在以后学习中,我会在以后学习中严格要求自己,期望在老师帮助下在,自己努力下,在生活中找到属于自己位置,取得更大进步。第七章 :参考文件1马世霞,java程序设计,机械工业出

30、版社.12杨武,刘贞java编程及应用,北京:高等教育出版社.3丁振凡java语言使用教程,北京邮电大学出版社.9第八章 :致谢在此我要感谢我老师在课程设计上给我们指导和给帮助,这是我们能顺利完成这次课程设计关键原因,更关键是老师在课堂上出色讲解,让我们在写课程设计时愈加完善。在此期间,我不仅学到了很多新知识,而且也开阔了视野,提升了自己设计能力。其次,我要感谢帮助过我同学,她们为我处理了很多不太明白地方,还有部分素材提供。最终,再次感谢我老师和同学,诚心说一句:谢谢!附源代码:import java.awt.event.ActionEvent;import java.awt.event.Ac

31、tionListener;import javax.swing.*;import java.awt.*;import java.math.BigDecimal;import java.math.MathContext;import java.math.RoundingMode;import java.awt.Color; /* * java版计算器 */public class Calculator extends JFrame final int WIN_W = 295, WIN_H = 292; JPanel myPanel, panelSuper; public Calculator()

32、 / 主面板 panelSuper = new JPanel(); panelSuper.setLayout(null); / 设置窗口位置 double width = Toolkit.getDefaultToolkit().getScreenSize().width; double height = Toolkit.getDefaultToolkit().getScreenSize().height; this.setBounds(int) (width - WIN_W) / 2, (int) (height - WIN_H) / 2, WIN_W, WIN_H); / 窗口配置 this

33、.setTitle(java版计算器); this.validate(); this.setResizable(false); this.setVisible(true); this.setDefaultCloseOperation(DISPOSE_ON_CLOSE); / 添加计算器按钮面板 myPanel = new MyPanel(); this.add(myPanel, BorderLayout.CENTER); public static void main(String args) new Calculator(); /* * 计算器按钮面板类 */ class MyPanel e

34、xtends JPanel implements ActionListener JButton button1, button2, button3, button4, button5, button6, button7, button8, button9, button0, buttonJia, buttonJian, buttonCheng, buttonChu, buttonDeng, buttonDian, buttonC, buttonDel, buttonZF, buttonGH; JTextField jTextField; / 计算器显示器 char oper; / 操作符 St

35、ring key, allKey = .del, jjccKey = +-*/; BigDecimal d1, d2; boolean first; public MyPanel() / 设置布局 this.setLayout(new FlowLayout(FlowLayout.LEFT, 4, 5); / 计算器显示器 jTextField = new JTextField(25); jTextField.setHorizontalAlignment(JTextField.RIGHT); jTextField.setEditable(false); jTextField.setBackgro

36、und(new Color(255, 255, 255); jTextField.setText(0); this.add(jTextField); / 计算器按钮 button1 = new JButton(1); button2 = new JButton(2); button3 = new JButton(3); button4 = new JButton(4); button5 = new JButton(5); button6 = new JButton(6); button7 = new JButton(7); button8 = new JButton(8); button9 =

37、 new JButton(9); button0 = new JButton(0); buttonJia = new JButton(+); buttonJian = new JButton(-); buttonCheng = new JButton(*); buttonChu = new JButton(/); buttonDeng = new JButton(=); buttonDian = new JButton(.); buttonDel = new JButton(del); buttonC = new JButton(c); buttonZF = new JButton(); bu

38、ttonGH = new JButton(); button1.setPreferredSize(new Dimension(67, 40); button2.setPreferredSize(new Dimension(67, 40); button3.setPreferredSize(new Dimension(67, 40); button4.setPreferredSize(new Dimension(67, 40); button5.setPreferredSize(new Dimension(67, 40); button6.setPreferredSize(new Dimension(67, 40); button7.setPreferredSize(new Dimension(67, 40); button8.setPreferredSize(new Dimension(67, 40); butto

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服