《2022年2022年计算器程序设计 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算器程序设计 .pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、程序语言综合课程设计设计报告学院:信息工程学院专业班级:软件 092班学号:07 号姓名:吴亮指导老师:杨书新、贺智明完成时间:2011年 7 月 20 日名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 11 页 -目录题目一计算器 .1 1.1 题目简介.1 1.2 设计的内容、要求和目标.2 1.3 总体设计.3 1.4 详细设计及实现.5 1.4.1 操作界面设计.5 1.4.2 类成员变量及方法设计.6 1.4.3*数据库设计.7 1.4.4 源代码分析.8 1.5 系统部署及使用说明.14 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 11 页 -题目一
2、计算器1.1 题目简介用 Java语言、MyEclipse 工具、设计一个 GUI简易计算器,编写计算器的基本运算的程序,用户可以通过鼠标一次输入参加计算的数值,进行加减乘除等混合运算,基本实现计算器的四则运算和三角函数运算功能以及开方和求对数的基本运算。本计算器只适用十进制的运算,不限制十进制的大小。编写本计算器运用 java 的类得调用和直接在程序中定义类,实现计算器的基本功能,在这个计算器中对于执行的操作可以进行复制和保存以便以后能直接查看运行结果本计算器保存没不得运行结果,只有点清除键是才可以清除每步的结果。1.2 设计的内容、要求和目标设计内容:设计一个 GUI简易计算器,用户可以通
3、过鼠标一次输入参加计算的数值,进行加减乘除等混合运算。设计要求:由于现代用户更倾向于由鼠标方便操作的图形用户界面,所以我们采用 GUI来实现计算器,并采用 Swing 组件,AWT 事件来处理等实现具体功能。(1)、应具有相应的界面,可参考下图进行设计:名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 11 页 -(2)、操作符号定为:“+”“-”,“*”,“/”等。(3)、用户通过点击面板中的各种组件输入的表达式,应在上方文本框。(4)、党用户点击“=”时,文本框中之前的内容应清空,直接显示表达式运算结果。例如:输入表达式“7*8”之后按“=”,显示结果“56”。(5)、具有菜单
4、栏,内有相应的编辑“复制”、“粘贴”等菜单,提供相应的功能。设计目标:利用Java 语言设计一个简单的计算器,以实现基本的加减乘除功能,还有 sin、|cos、tan、log 等算术运算;同时实现退格、清零等运算。1.3总体设计1)、对计算器面板的整体布局首先是对计算器的整体面板进行一个简单的设计,整体布局是采用layout(边框布局)布局,对计算器中的一些数字按钮和运算符按钮采用gridlayout布局(网格布局)。2)、创建实现程序所需的类整理思路,确定一个主类 CalculatorWindow,然后对 Dialog、HandleBack、HandleClear、HandleCos、Han
5、dleCot、HandleSin、HandleTan、HandleDigit、HandleDot、HandleDownNumber、HandleEquality、HandleLog、HandleOperation、HandlePOrN、HandlePositiveOrNegative、NumberButton、OperationButton、SelectJTree等类的创建。3)、对所创建类算法的分析和实现确定了主类 CalculatorWindow,其他类为其所调用。编写各类的实现算法,增加面板所需的按钮,并对程序进行调试运行及分析。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,
6、共 11 页 -模块功能图如下:计算器的模块设计数字键一般运算符三角函数符运算结果处理编辑、查看、帮助边框实现功能所调用的类实现功能所调用的类实现功能所调用的类实现功能所调用的类实现功能所调用的类SelectTreeCalculatorWindowDialogNumberbuttonoperationButtonHandlePositiveOrNegativeHandleSinHandleCosHandleTanHandleLogHandleBackHandleClearHandleEquality1.4详细设计及实现1.4.1 操作界面设计名师资料总结-精品资料欢迎下载-名师精心整理-第 5
7、 页,共 11 页 -制作一个简单的面板Jframe,在其上面添加构造界面所需的各种组件,其构造方法为:CalculatorWindow()Super();this.setBounds(100,50,650,500);this.setDdfaultCloseOperation(Jframe.EXIT_ON_CLOSE);this.setResizable(false);this.setTitle(“计算器”);int();/创 建 菜 单 及 各 种 组 件(如 按 钮,文 本 框 等)getContentPane().setLayout(new BorderLayout(4,6);1.4.2
8、 类成员变量及方法设计在此程序设计过程中,主要创建了类CalculatorWindow、Dialog、HandleBack、HandleClear、HandleCos、HandleCot、HandleSin、HandleTan、HandleDigit、HandleDot、HandleDownNumber、HandleEquality、HandleLog、HandleOperation、HandlePOrN、HandlePositiveOrNegative、NumberButton、OperationButton、SelectJTree。其中 CalculatorWindow类是利用 layou
9、t布局来实现计算器窗口的简单布局,Dialog 类是设置文本框,HandleBack 类是实现退格处理,HandleClear 类是实现清空处理,HandleCos、HandleCot、HandleLog、HandleSin、HandleTan等类是实现对数据的一些基本运算处理,NumberButton 类是为了实现 0 到 9 这十个数字按钮,HandleDot 类是为了实现结果的直接输出,HandleEquality类是实 现 等 于 输 出,HandleOperation是 实 现 对 电 脑 进 程 的 操 作 处 理,HandlePositiveOrNegative是为了实现对输入数
10、据的必要的正负号转化的处理,HandleDigit是实现对 ActionEvent事件的处理,OperationButton类是为计算器面板增加必要的操作按钮,SelectJTree是实现对计算器中帮助按钮进行树形结构的处理,并对帮助按钮的功能进行详细的说明。制作成表格如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 11 页 -创建各类名类成员变量使用功能CalculatorWindowJtextField、JtextArea、setTitlenel、elLeft、anelRight、Menu editM等实现 计 算器 窗 口的简单布局DialogsetBounds、su
11、per、Jframe等设置文本框HandleBackLinkedList、JtextField、actionPerformed、String num等实现退格处理HandleClearJtextField、this.list、resultShow、howComputerProcess实现清空处理HandleCos HandleCot HandleLog HandleSin HandleTanactionPerformed、String numOne double x、double result、list.set HandleCos、HandleCot、HandleLog HandleSin、H
12、andleTan、math 等实现 对 数据 的 一些基本运算处理NumberButtonJbutton、number、setForeground实现 0 到 9 这十个数字按钮HandleDotLinkedList、JtextField、String dot、String num等实现 结 果的 直 接输出HandleEqualitylist.size、String num、resultShow.setText等实现等于输出HandleOperationOperationButton b、String fuhao、list.add、middleProcess等实现 对 电脑 进 程的操作处理
13、HandlePositiveOrNegativelist.size、String number1、doubled、String str等实现 对 输入 数 据的必要 的 正负 号 转化的处理HandleDigitNumberButton、list.add、resultShow.setText等实现对 ActionEvent事件的处理OperationButton String operateSign、setForeground等为计 算 器面 板 增加必要的操作按钮SelectJTree this.con、design.add、root.add、tree.getSelectionModel、e
14、ventTxt.setText等实现 对 计算 器 中帮助按 钮 进行 树 形结构的处理,并对帮助按钮 的 功能 进 行详细的说明名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 11 页 -主要程序 N-S 流程图如下:开始菜单输入数据是否进行加减乘除运算是否进行三角函数运算是否进行退格运算是否进行清零运算最终输出编辑、查看和帮助按钮结束是否切入正负号1.4.3源代码分析此程序代码分为五个模块,文件包为Defaultpackage,计算器包中包含了主界面和各按钮相关类,实现了计算器的最基本功能;Dialog 包中则为高级面板,包含能实现科学计算功能的按钮;menuitem 为菜单
15、,就是存储了实现主界面中菜单栏功能的类文件。名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 11 页 -Defaultpackage:Dialog、HandleBack、HandleClear、HandleCos、HandleCot、HandleSin、HandleTan、HandleDigit、HandleDot、HandleDownNumber、HandleEquality、HandleLog、HandleOperation、HandlePOrN、HandlePositiveOrNegative、NumberButton、OperationButton、SelectJTree
16、 都为ActionListener,每当按钮被单击时调用actionPorformed(),实现打开面板、清除、小数点、等于、数字、四则运算、正负号、键盘输入等功能,HomeCloseListener类用于监听主界面的关闭动作,当主界面关闭,则其他打开的子界面也将关闭。此外在主界面CalculatorHome 内部实现了清空,开始按钮的功能,清空则将主界面中所有文本内容清除,开始按钮则是控制输入的开始,在单击此按钮后计算机才能工作。Advance:此 包 中 的 所 有 类 也 都 是 按 钮 监 听 类 ActionListener,调 用actionPorformed()实现科学计算,各类
17、的功能见名知意。Menuitem:此包中的类只实现了帮助菜单的功能,Help 和 HelpTree 实现树形的帮助文档,Info 为计算器相关信息;在主界面中添加了调用Help 和 Info 类的构造方法,分别弹出对话框。编辑菜单的功能则在主界面CalculatorHome 中实现,通过对相应的菜单项添加ActionListener(this)监听。1.5系统运行及使用说明输入数据 6,并对此数据进行sin、cos、tan、cot、log 等运算操作,操作界面图如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 11 页 -使用说明如下:退格 逐个删除请零 全部清除+/-改变当前数的符号sin 计算三角函数 sin 值(默认角度制)cos 计算三角函数 cos 值(默认角度制)tan 计算三角函数 tan 值(默认角度制)log 计算以 10 为底的对数计算器的运算结果可以导入到别的应用程序中,用户可以选择“编辑”“复制”把运算结果粘贴到别处,也可以从别的地方复制好运算算式后,选择“编辑”“粘贴”到计算器中进行运算。名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 11 页 -计算器中帮助按钮的功能介绍界面图如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 11 页 -