1、java课程设计计算器java课程设计-计算器Java程序设计课程设计报告( 2011 - 2012 年度第 1 学期)计算器专业计算机科学与技术(网络工程)学生姓名赵宝文班级B计算机102学号1010704227指导教师徐 森完成日期2012年1月8日题目1 概 述 1.1 课程设计目的1.熟悉Java的运行环境及其使用;2.掌握Java图形界面的使用;3.加强Java程序的分析能力;4.加强使用Java知识解决实际问题的能力。1.2 课程设计内容设计GUI界面的计算器程序,用户可以通过鼠标依次输入参加计算的数值,进行加、减、乘、除等混合运算。 2 系统需求分析2.1 系统目标要求所设计的G
2、UI界面计算器是一个使用很方便的程序,能进行加、减、乘、除等混合运算。2.2 主体功能用户可以通过鼠标依次输入参加计算的数值,进行加、减、乘、除等混合运算。2.3 开发环境Eclipse集成开发环境3 系统概要设计3.1 系统的功能模块划分本计算机文件共有3个java源文件。类之间的主要关系如下图所示ComputerPad(主类)NumberButtonOperationButtonComputerPad.java该java源文件生成的类负责创建计算器的“主窗口”。该类含有main方法,整个程序从该类开始执行。NumberButton.java该文件生成的类负责为主类创建数字按钮对象,使用鼠标
3、单击数字按钮可依次输入参加运算的数值的各位数字。OperationButton.java该文件生成的类负责为主类创建运算符号按钮对象。使用鼠标单击运算符号按钮可选择所要进行的运算。3.2 系统流程图4系统详细设计4.1 ComputerPad(主类)成员变量成员变量描述变量类型名称数字按钮数组NumberButtonnumberButton运算符号按钮数组OperationButtonoperationButton小数点按钮Button小数点按钮正负号按钮Button正负号按钮退格按钮Button退格按钮求倒数按钮Button求倒数按钮等号按钮Button等号按钮清零按钮Button清零按钮显
4、示计算结果JTextFieldresultShow存储数据的链表LinkedList链表方法名称功能备注ComputerPad创建窗口构造方法ActionPerformed处理ActionEvent事件接口方法Main程序运行入口代码见附录。4.2 NumberButton成员变量成员变量描述变量类型名称按钮代表的数字Intnumber方法名称功能备注NumberButton创建数字按钮构造方法getNumber获取按钮代表的数字代码见附录。4.3 OperationButton成员变量成员变量描述变量类型名称按钮代表的数字StringOperator方法名称功能备注OperationButt
5、on创建符号按钮构造方法getOperator获取按钮代表的符号代码见附录。5 测试5.1 测试方案图5-15.1.1加法测试:1+2=?图5-1-15.1.2乘法测试:2*3=?图5-1-25.2 测试结果加法测试结果:1+2=图5-2-1乘法测试结果:2*3=图5-2-26 小结本文利用Java语言编写了一个计算器程序,其中涉及到很多的基础内容,如类、构造方法、继承、接口、GUI等。通过对这些内容的综合运用,加深了对Java的理解,为进一步学习打下基础。 参考文献1耿祥义,张跃平. Java2实用教程(第三版)M . 北京:清华大学出版社, 2006 2耿祥义. Java课程设计(第三版)
6、M . 北京:清华大学出版社, 20043张跃平.Java2实用教程实验指导与习题解答(第三版)M. 北京:清华大学出版社, 20044Jacquie Barker,Java面向对象编程指南,电子工业出版社,2001附 录附录 源程序清单import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.util.LinkedList;public class ComputerPad extends Frame implements ActionListen
7、er NumberButton numberButton;/数字按钮数组。 OperationButton operationButton;/运算符号按钮数组。 Button 小数点按钮,正负号按钮,退格按钮,求倒数按钮,等号按钮,清零按钮; Panel panel;/添加各种按钮的面板。 JTextField resultShow;/显示计算结果的文本条。 String 运算符号=+,-,*,/; LinkedList 链表;/负责存储数据的链表。 boolean 是否按下等号=false; public ComputerPad() super(计算器); 链表=new LinkedList
8、(); numberButton=new NumberButton10;/共有10个数字按钮。 for(int i=0;i=9;i+) numberButtoni=new NumberButton(i); numberButtoni.addActionListener(this); operationButton=new OperationButton4;/共有4个运算符号。 for(int i=0;i=1) num=num.substring(0, num.length()-1); 链表.set(0, num); resultShow.setText(num); else 链表.remove
9、Last(); resultShow.setText(0); else if(链表.size()=3) String num=(String)链表.getLast(); if(num.length()=1) num=num.substring(0, num.length()-1); 链表.set(2, num); resultShow.setText(num); else 链表.removeLast(); resultShow.setText(0); else if(e.getSource()=正负号按钮) if(链表.size()=1) String number1=(String)链表.g
10、etFirst(); try double d=Double.parseDouble(number1); d=-1*d; String str=String.valueOf(d); 链表.set(0, str); resultShow.setText(str); catch(Exception ee) else if(链表.size()=3) String number2=(String)链表.getFirst(); try double d=Double.parseDouble(number2); d=-1*d; String str=String.valueOf(d); 链表.set(2, str); resultShow.setText(str); catch(Exception ee) else if(e.getSource()=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1