简单计算器设计java课程设计报告.doc

上传人:精*** 文档编号:865379 上传时间:2023-10-05 格式:DOC 页数:16 大小:354.23KB
下载 相关 举报
简单计算器设计java课程设计报告.doc_第1页
第1页 / 共16页
简单计算器设计java课程设计报告.doc_第2页
第2页 / 共16页
简单计算器设计java课程设计报告.doc_第3页
第3页 / 共16页
简单计算器设计java课程设计报告.doc_第4页
第4页 / 共16页
简单计算器设计java课程设计报告.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、目录一、选题目的与系统概述31. 选题目的32.系统概述3二、系统可行性分析与相关技术背景分析61.系统可行性分析62.相关技术背景分析7三、系统设计与关键技术81.系统设计82.关键技术9四、系统测试与操作实施方法11 1.系统测试112.操作实施方法15五、系统设计总结与回顾151.系统设计总结152.系统设计回顾16简单计算器设计 一、选题目的与系统概述 1. 选题目的 通过设计计算器熟练掌握Java面向对象编程,同时学习使用图形用户界面程序,并且通过学习明白了用户程序界面由一些诸如窗口、标签、文本域、按钮的组件组成。其设计主要包括3方面的工作: 1)选择并创建合适的组件。 2)选择合适

2、的容器和布局管理器,对组件进行布局管理。 3)判断需要监听哪些组件引发的哪些事件,创建并注册合适的监听器 此次通过对JAVA的学习,我学会运用基本的知识创建图形用户界面,并且在此过程中学会了在界面中添加面板,以及在面板中添加按钮并能正确使用按钮的功能,同时能在按钮中添加图片以美化按钮。并且学会实现程序对话框的最小化,最大化及关闭功能。 2.系统概述 1,运算器的界面制作:这个简单计算器设计是通过两个面板的叠加做出的界面。 2,计算器的功能实现:在面板上添加按钮,并通过按钮来进行简易计算器的加,减,乘,除基本运算。 3,通过ImageIcon来实现在按钮中添加图片。 4,通过继承JFrame类和

3、实现监听器接口ActionListener接口来完成窗口的布局管理和个组件相对应的事件。设计思维为:定义一个窗口和一个容器和两个面板来合理放置组件,第一个面板用来存放Number1,Number2,Result 三个文本框,第二个面板用来存放完成实现计算加,减,乘,除四个基本功能的按钮。再把两个面板放到容器中。通过ActionListener来实现各个组件相对应的事件。 5,算法分析 先引入程序设计所需要的包,代码如下: import java.awt.*; Import java.awt.event.*; import javax.swing.*; 通过 void main(String a

4、rgs)完成对计算器名称及对该程序对话框最小化,最大化,关闭功能的设计。代码如下: public static void main(String args) caculater frame = new caculater(); frame.pack(); frame.setTitle(小菜计算器); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); 主要通过以下定义来完成操作 private JTextField jtfNum1, jtfNum2, jtfResult; Private J

5、Button jbtAdd, jbtSub, jbtMul, jbtDiv; jtfNum1, jtfNum2, jtfResult分别表示三个文本框,jbtAdd, jbtSub, jbtMul, jbtDiv表示该简单计算器的四个基本按钮。 通过ImageIcon来实现在按钮中添加图片,代码如下: ImageIcon one=new ImageIcon(image/one.jpg); ImageIcon two=new ImageIcon(image/two.jpg); ImageIcon three=new ImageIcon(image/three.jpg); ImageIcon fo

6、ur=new ImageIcon(image/four.jpg); 用actionPerformed()方法对事件源进行分类判断(数字,操作符等),然后做相应的条件分析和处理,代码如下: public void actionPerformed(ActionEvent e) String actionCommand = e.getActionCommand(); if (e.getSource() instanceof JButton) if (Add.equals(actionCommand) calculate(+); else if (Subtract.equals(actionComma

7、nd) calculate(-); else if (Multiply.equals(actionCommand) calculate(*); else if (Divide.equals(actionCommand) calculate(/); 在Number1,Number2中输入数字,并进行相应的计算的函数,下面是部分代码: private void calculate(char operator) double num1 = new Double(jtfNum1.getText().trim().doubleValue(); double num2 = new Double(jtfNu

8、m2.getText().trim().doubleValue(); double result = 0; switch (operator) case +: result = num1 + num2; break; case -: result = num1 - num2; break; case *: result = num1 * num2; break; case /: result = num1 / num2; jtfResult.setText(String.valueOf(result); 二、系统可行性分析与相关技术背景分析1.系统可行性分析 设置两个面板的放置位置,功能实现代

9、码举例: getContentPane().setLayout(new BorderLayout(); getContentPane().add(p1, BorderLayout.CENTER); getContentPane().add(p2, BorderLayout.SOUTH); 通过ImageIcon来实现在按钮中添加图片,代码如下: ImageIcon one=new ImageIcon(image/one.jpg); ImageIcon two=new ImageIcon(image/two.jpg); ImageIcon three=new ImageIcon(image/th

10、ree.jpg); ImageIcon four=new ImageIcon(image/four.jpg); 为所有的按钮注册ActionListener事件监听器,功能实现代码举例: jbtAdd.addActionListener(this); jbtSub.addActionListener(this); jbtMul.addActionListener(this); jbtDiv.addActionListener(this); 在Number1,Number2中输入数字,功能实现代码举例: double num1 = new Double(jtfNum1.getText().tri

11、m().doubleValue(); double num2 = new Double(jtfNum2.getText().trim().doubleValue(); 使所有的按钮响应事件,完成其对应的功能,功能实现代码举例: if (e.getSource() instanceof JButton) if (Add.equals(actionCommand) calculate(+); else if (Subtract.equals(actionCommand) calculate(-); else if (Multiply.equals(actionCommand) calculate(

12、*); else if (Divide.equals(actionCommand) calculate(/); 得出最终结果,功能实现代码举例: switch (operator) case +: result = num1 + num2; break; case -: result = num1 - num2; break; case *: result = num1 * num2; break; case /: result = num1 / num2;2.相关技术背景分析 创建一个类实现监听器接口,在其actionPerformed()方法中对事件源进行分类判断(数字,操作符等),然后做

13、相应的条件分析和处理的函数,下面是部分代码: public void actionPerformed(ActionEvent e) String actionCommand = e.getActionCommand(); if (e.getSource() instanceof JButton) if (Add.equals(actionCommand) calculate(+); else if (Subtract.equals(actionCommand) calculate(-); else if (Multiply.equals(actionCommand) calculate(*);

14、 else if (Divide.equals(actionCommand) calculate(/); 在Number1,Number2中输入数字,并进行相应的计算的函数,下面是部分代码: private void calculate(char operator) double num1 = new Double(jtfNum1.getText().trim().doubleValue(); double num2 = new Double(jtfNum2.getText().trim().doubleValue(); double result = 0; switch (operator)

15、 case +: result = num1 + num2; break; case -: result = num1 - num2; break; case *: result = num1 * num2; break; case /: result = num1 / num2; jtfResult.setText(String.valueOf(result);三、系统设计与关键技术 1.系统设计 界面布局:创建两个面板,第一个面板放置Num1,Num2,Result三个文本框;第二个面板设置加,减,乘,除四个按钮,并设置成4行一列布局,放在框架南面,并在框架左上角设置名称,在右上角设置最小

16、化,最大化及关闭程序。 通过ImageIcon来实现在按钮中添加图片。此设计主要是通过继承JFrame类和实现监听器接口ActionListener接口来完成窗口的布局管理和个组件相对应的事件。即:首先总体定义一个窗口和一个容器和两个个面板来合理放置组件,第一个面板用来存放文本框,第二个面板用来存放用来实现加,减,乘,除四个基本计算功能的按钮。再把两个面板放到容器中。然后通过实现ActionListener中的actionPerformed(ActionEvent e)方法来实现各个组件相对应的事件。 2.关键技术 创建面板p1,放置文本框Number1,Number2,Result三个文本框

17、,代码如下: JPanel p1 = new JPanel(); p1.setLayout(new FlowLayout(); p1.add(new JLabel(Number 1); p1.add(jtfNum1 = new JTextField(3); p1.add(new JLabel(Number 2); p1.add(jtfNum2 = new JTextField(3); p1.add(new JLabel(Result); p1.add(jtfResult = new JTextField(8); jtfResult.setEditable(false); jtfResult.s

18、etHorizontalAlignment(SwingConstants.RIGHT); 创建面板p2,放置加减乘除四个按钮,代码如下: JPanel p2 = new JPanel(); p2.setLayout(new GridLayout(4,1,5,5); p2.add(jbtAdd = new JButton(加); p2.add(jbtSub = new JButton(减); p2.add(jbtMul = new JButton(乘); p2.add(jbtDiv = new JButton(除); 通过ImageIcon来实现在四个按钮中添加图片,代码如下: ImageIco

19、n one=new ImageIcon(image/one.jpg); ImageIcon two=new ImageIcon(image/two.jpg); ImageIcon three=new ImageIcon(image/three.jpg); ImageIcon four=new ImageIcon(image/four.jpg); 为所有的按钮注册ActionListener事件监听器,代码如下: jbtAdd.addActionListener(this); jbtSub.addActionListener(this); jbtMul.addActionListener(thi

20、s); jbtDiv.addActionListener(this); 创建一个类实现监听器接口,在其actionPerformed()方法中对事件源进行分类判断(数字,操作符等),然后做相应的条件分析和处理的函数,部分代码如下: public void actionPerformed(ActionEvent e) String actionCommand = e.getActionCommand(); if (e.getSource() instanceof JButton) if (Add.equals(actionCommand) calculate(+); else if (Subtr

21、act.equals(actionCommand) calculate(-); else if (Multiply.equals(actionCommand) calculate(*); else if (Divide.equals(actionCommand) calculate(/); 在Number1,Number2中输入数字,并进行相应的计算得出结果,下面是部分代码: private void calculate(char operator) double num1 = new Double(jtfNum1.getText().trim().doubleValue(); double

22、num2 = new Double(jtfNum2.getText().trim().doubleValue(); double result = 0; switch (operator) case +: result = num1 + num2; break; case -: result = num1 - num2; break; case *: result = num1 * num2; break; case /: result = num1 / num2; jtfResult.setText(String.valueOf(result); 四、系统测试与操作实施方法 1.系统测试运行

23、出来的最初界面为: 输入第一个数Number1: 输入第二个数Number2:点击“加”按钮得出相应的结果:点击“减”按钮得出相应的结果:点击“乘”按钮得出相应的结果:点击“除”按钮得出相应的结果:要进行其他数字的计算,只需修改Number1,Number2中的数即可进行新的计算。2.操作实施方法 在得到的结果界面中,先在Number1中输入Number1的数值,再在Number2中输入Number2的数值,在点击“加”,“减”,“乘”,“除”中的任意一个按钮即可进行相应的计算并得出最终的结果。如果想要计算其他数字的相应计算,只需按键盘上的“Backspace”键撤销Number1,Numbe

24、r2中原来的数并重新输入新的数,即可进行新一轮的计算。五、系统设计总结与回顾1.系统设计总结 通过此次课程设计,进一步了解了项目开发的步骤,思路,以及程序的布局和框架结构,尤其对JAVA的模块化设计有了更进一步的了解。 进一步掌握了图形用户界面GUI,了解Swing组件的使用,以及系统提供的该工具的作用,进一步掌握了JAVA响应机制的原理,更好的掌握了面向对象编程的思路。 在此次设计中,按钮的设计是一大难点,如何实现按钮的功能是关键。通过此次课程设计我还学会了一些简单的函数,如:学会了用actionPerformed()函数进行条件分析和处理。 此次设计使我学会了选择并创建合适的组件,同时学会

25、了对组件进行布局管理。 在开发过程中,我遇到了许多难题,但经过向同学请教以及翻阅相关资料,最后终于把难题一一攻破了。在开发过程中我深深的体会到,遇到问题,切忌心浮气躁,要坚持不懈,才能克服困难。此次课程设计既锻炼了我的操作能力,使我对JAVA有了一定的经验,同时又使我们所学的理论知识得到了升华。 2,系统设计回顾 此次设计主要按以下几个步骤设计: 先引入程序设计所需要的包,如import java.awt.*; Import java.awt.event.*; import javax.swing.*; 定义三个文本框jtfNum1, jtfNum2, jtfResult,以及计算器的四个基本

26、按钮jbtAdd, jbtSub, jbtMul, jbtDiv。 设置计算器的名称,以及最小化,最大化及关闭功能的设置。 分别创建面板p1和p2放置Number1,Number2,Result三个文本框及加减乘除四个按钮。 用ActionListener对各个按钮进行监听。 设计加减乘除的计算方法及结果设置。 总之,此次设计使我受益匪浅,它使我进一步了解了JAVA面向对象编程的设计思想,并且学会了用用户图形界面设计简单的计算器,了解Swing组件的使用,进一步掌握了JAVA响应机制的原理,更好的掌握了面向对象编程的思路。虽然这学期的JAVA课已经结束了,但我的JAVA学习之路不会结束,我会坚持不懈的走下去! .16

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922