java课程设计报告计算器设计.doc
《java课程设计报告计算器设计.doc》由会员分享,可在线阅读,更多相关《java课程设计报告计算器设计.doc(27页珍藏版)》请在沃文网上搜索。
1、 目录题目一 计算器21.1 需求分析21.2 总体设计21.2.1 功能设计21.2.2 用户界面设计31.2.3 关键算法分析41.3 代码实现61.3.1 类之间的关系61.3.2 运行效果71.3.3 打包发布71.4 程序测试71.5 实验总结8附录2 部分源码9题目一 计算器1.1 需求分析设计一个计算器,用户可以通过鼠标依次输入参加计算的数值,进行加减乘除等混合运算,使之具有普通的功能外,还能有显示计算过程,保存计算过程的功能。这个计算器拥有常见的函数,例如:sin,cos,tan,平方,log等。数字键用图片代替,要求所设计GUI界面计算器是一个使用方便的程序,能实现基本的加减
2、乘除功能,同时实现退格、清零等运算。1.2 总体设计 1.2.1 功能设计(1)单击“计算器”上的数字按钮(0、1、2、3、4、5、6、7、8、9)可以设置参与计算的运算数。(2)单击“计算器”上的运算符按钮(+,-,*,/)可以选择运算符号。(3)单击“计算器”的函数按钮可以计算出相应的函数值。 (4)单击“计算器”的“=”按钮宣示计算结果。 (5)在一个文本框中显示当前的计算过程,在一个文本区中显示以往的计算过程。 (6)单击“保存”按钮可以文本区的全部计算过程保存的文件;单击“复制”按钮可以将文本区中选中的文本复制的剪切板;单击“清除”按钮可以清除文本区中所有内容。1.2.2 用户界面设
3、计 图1.2-2图1.2-2是与用户交互的友好操作界面,在计算器的标准型中,其中数字键为图片,采用了传统计算器的按钮图片,数字键让人感觉起来更有计算器的气息。函数功能主要有sin,cos,sqrt等几个计算器功能(实现对简单计算器的某些功能扩展),基本数学运算中主要有+,*,/等常用的简单运算。首先是设计一个大小为(330,270)的窗口,界面布局应用了borderlayout布局,将六个面板组合好添加到窗体里面。其中将文本框放置在窗体的下部,窗体的西部放置了计算器的功能按钮,将数字键安置在窗体的东间,而下部则是放置了运算键。用户可以利用鼠标点击数值或操作符按键完成计算的输入,计算的结果将被显
4、示在窗口下部的文本框中。1.2.3 关键算法分析 开始流程图 初始化输入第一个数连加连减? Y N将上次结果作为第一个数保存数字和运算符输入第二个数 函数按键修正运算符符号修正运算符 Y 保存第二个数 N 输出 结束 n NumberButton类的设计u 效果图:NumberButton创建的数字按钮的效果如下图:Numberbutton创建数字的效果图,用图片代替。u UML 图NuberButton是javax.swing包中JButton组件的子类。所创建的对象是CalculatorWindow类中Nubutton型数组;nuberButton中的元素。n handleBack类u U
5、ml图:HandleBack类实现了ActionListener接口,创建的对象handleBack是CalculatorWindow窗口成员之一。Handle函数类,取tan作为模版效果图HandleTan类创建对象无效果图。UML图HandleTan是我们编写的一个函数类,此类实现类ActionListener接口,创建对象handletan是主类窗口成员之一。1.3 代码实现 1.3.1 类之间的关系图 1.3-1Numberbuttonl类创建的对象是主类Calculatorwindow窗口的一个“数字”按钮。NuberButton类有一个int类型的成员nuber,标明所创建的按钮所
6、含有的数字。OperqtionButton类创建的对象是主类CalculatorWindow窗口中的一个“运算符”按钮。OperationButton类有个String类型的成员opwerateSign,用于标明所创建的按钮所俺都有的运算符号。HandleDot类是创建的对象负责处理ActionEvent事件,当用户单击“.”按钮(小数点)时,HandleDot类所创建的类负责处理小数点。HandleSin类所创建的对象负责处理ActionEvent事件。当用户点击sin按钮时,handleSin类所创建的对象负责计算三角函数值。这些类都是从主类开始的,然后再调用所需要的类。1.3.2 运行效
7、果 1.3.3 打包发布Myeclipse的打包方法:选中Calculator这个项目,右击,然后选择Export,找到java里的Runnable JAR file进行打包发布,主类选择Calculatorwindow类来进行发布。得到了Calculator.jar即为可执行文件,但由于文件中采取了图片,因此,需将图片文件置于Runnable JAR file同一目录下。1.4 程序测试1.5 实验总结总体来说,本次java项目的课程设计在规定期间顺利完成,计算器的界面、基本函数的计算、部分科学型计算也都一一实现。不足之处在于该计算器的函数功能不强大,界面还有待改进。JAVA是一门优秀的编程
8、语言,具有面向对象、与平台无关,安全、稳定和多线程等特点,是目前软件设计中极为健壮的语言。在经过了一个学期的JAVA学习,JAVA编程有了一定的认识,对在做这个课程设计的时候,刚开始感觉自己无从下手,不知道该怎么开始,很茫然。最终利用网络资源和查阅图书馆的书籍,在老师与同学的指导和讨论下,经过一段时间终于完成了这个设计。当程序运行结束看到弹出的计算器的界面时,感到很欣慰,虽然只是一个小小的程序,但却是自己起步的成就,从中学到了很多书本知识不能体现的东西,对JAVA的学习有了一定的兴趣。也通过这次的程序设计感觉到自己平时对于编程实际操作的贫乏,没 有把书本上的知识真正的掌握牢固,在我们对程序的编
9、写以及对查错过程中,更可以使我们更加细心,为我们以后的工作及学习打好基础。附录2 部分源码 主类import java.awt.BorderLayout;import java.awt.Color;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;im
10、port java.io.FileWriter;import java.io.IOException;import java.io.StringReader;import java.util.LinkedList;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSp
11、litPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.border.BevelBorder;import javax.swing.border.SoftBevelBorder;public class CalculatorWindow extends JFrame implements ActionListener NumberButton numberButton; OperationButton operationButton; JButton 小数点操作,正负号操作,退格
12、操作,等号操作,清零操作,sin,cos,sqrt,tan,pow,log; JTextField resultShow; /显示计算结果 JTextField showComputerProcess; /显示当前计算过程 JTextArea saveComputerProcess; /显示计算步骤 JButton saveButton,copyButton,clearButton; LinkedList list; /链表用来存放第一个运算数、运算符号和第二个运算数 HandleDigit handleDigit; /负责处理ActionEvent事件 HandleOperation han
13、dleOperation ; HandleBack handleBack; HandleClear handleClear; HandleEquality handleEquality; HandleDot handleDot; HandlePOrN handlePOrN; HandleSin handleSin; HandleCos handleCos; HandleSqrt handleSqrt; HandleTan handleTan; HandleLog handleLog; HandlePow handlePow; public CalculatorWindow() setTitle
14、(计算器); JPanel panelLeft,panelRight; list=new LinkedList(); resultShow=new JTextField(10); resultShow.setHorizontalAlignment(JTextField.RIGHT); resultShow.setForeground(Color.blue); resultShow.setFont(new Font(TimesRoman,Font.BOLD,16); resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED); re
15、sultShow.setEditable(false); resultShow.setBackground(Color.white); showComputerProcess=new JTextField(); showComputerProcess.setHorizontalAlignment(JTextField.CENTER); showComputerProcess.setFont(new Font(Arial,Font.BOLD,16); showComputerProcess.setBackground(Color.cyan); showComputerProcess.setEdi
16、table(false); saveComputerProcess=new JTextArea(); saveComputerProcess.setEditable(false); saveComputerProcess.setFont(new Font(宋体,Font.PLAIN,16); numberButton=new NumberButton10; handleDigit=new HandleDigit(list,resultShow,showComputerProcess); for(int i=0;i=9;i+) numberButtoni=new NumberButton(i);
17、 numberButtoni.setIcon(new ImageIcon(E:java学习java工作区计算器计算器符号+i+.jpg); numberButtoni.setFont(new Font(Arial,Font.BOLD,20); numberButtoni.addActionListener(handleDigit); operationButton=new OperationButton4; handleOperation=new HandleOperation(list,resultShow, showComputerProcess,saveComputerProcess);
18、 String 运算符号=+,-,*,/; for(int i=0;i4;i+) operationButtoni=new OperationButton(运算符号i); operationButtoni.setFont(new Font(Arial,Font.BOLD,20); operationButtoni.addActionListener(handleOperation); 小数点操作=new JButton(.); handleDot=new HandleDot(list,resultShow,showComputerProcess); 小数点操作.addActionListene
19、r(handleDot); 正负号操作=new JButton(+/-); handlePOrN=new HandlePOrN(list,resultShow,showComputerProcess); 正负号操作.addActionListener(handlePOrN); 等号操作=new JButton(=); handleEquality=new HandleEquality(list,resultShow, showComputerProcess,saveComputerProcess); 等号操作.addActionListener(handleEquality); sin=new
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 报告 计算器 设计