Java带计算过程的计算器课程设计报告

  • 格式:doc
  • 大小:302.50 KB
  • 文档页数:20

Java程序设计课程设计报告

( 2010 -- 2011 年度第 1 学期)

保存计算过程的计算器

专业 网络工程

学生姓名 陆春燕

班级 B计算机092

学号 0970704211

指导教师 徐 森

完成日期 2011年1月13日

保存计算过程的计算器

目 录

1 概 述 ................................................................. 1

1.1 课程设计目的 ................................................ 1

1.2 课程设计内容 ................................................ 1

2 系统需求分析 ............................................................. 1

2.1 系统目标 .................................................... 1

2.2 主体功能 .................................................... 1

2.3 开发环境 .................................................... 1

3 系统概要设计 ............................................................. 1

3.1 系统的功能模块划分 .......................................... 1

3.2 系统流程图 .................................................. 1

4系统详细设计 .............................................................. 2

5 测试...................................................................... 6

5.1 测试方案 .................................................... 6

5.2 测试结果 .................................................... 6

6 小结...................................................................... 6

参考文献 ................................................................... 8

附 录 ................................................................... 9

附录1 源程序清单 ......................................................... 9 保存计算过程的计算器

1 1 概 述

1.1 课程设计目的

1.掌握JAVA语言编程的基础知识并能熟练运用。

2.熟悉类声明与对象的使用。

3.理解委托时间处理模型。

4.了解JAVA语言的图形用户界面JAVAS WING的设计知识。

5.运用JAVA SWING编写简单计算器程序,并实现其功能 。

1.2 课程设计内容

󰀀设计GUI界面的计算机程序,用户可以通过鼠标依次输入参加计算的数值,进行加,减,乘,除,等混合运算。

2 系统需求分析

2.1 系统目标

一个简单的计算器程序。用户可以利用鼠标点击数值或操作符按键完成计算的输入,计算的结果将被显示在窗口上部的文本框中。

2.2 主体功能

1.按下数字键在文本框上会显示数字,这是计算器最基本的功能

2.在任何时候按下“+-”键,计算器文本框上的数字置反

3.上面一个文本框显示计算过程,下面一个文本框显示输入的数字

4.当按下的运算符号时前面已经按下过运算符号时,下面一个文本框显示上一个运算符号以及两个数之间的运算结果。

5. 按下清除“C”键,数据被全部清除。

2.3 开发环境

JDK

3 系统概要设计

3.1 系统的功能模块划分

1.主界面模块

2.事件相应模块

3.2 系统流程图 保存计算过程的计算器

2

4系统详细设计

1.主界面模块详细设计

顶层容器:ComputerPad类实现主窗口,顶层容器中包含了1个panel容器,1个resultshow文本框,1个process文本框。

各组件作用:其中panel容器用于放数字按钮,小数点,运算符按钮,清零按钮,正负转换按钮以及退格按钮。两个文本框一个用于显示输入数据和计算结果,另一个用于显示计算过程。

布局方式:顶层容器用BroadLayOut布局,process和resultshow文本框以及panel容器分别放在定岑容器的noth,center以及south面,panel容器 用GridLayOut布局

部分代码如下

数字按钮类:实现数字按钮的定义

public class NumberButton extends Button{}

运算符按钮类:实现运算符号的定义

public class OperationButton extends Button{}

主窗口类实现监视器的注册,窗口布局,组件颜色大小等的设置

public class ComputerPad extends Frame implements ActionListener

{

NumberButton numberButton[];

OperationButton oprationButton[];

Button 小数点按钮,正负号按钮,退格按钮,

求倒数按钮,等号按钮,清零按钮; 保存计算过程的计算器

3 Panel panel;

JTextField resultShow;

JTextField process;

String 运算符号[]={"+","-","*","/"};

LinkedList 链表;

boolean 是否按下等号=false;

public ComputerPad()

{

super("计算器");

链表=new LinkedList();

//进行组件的声明,初始化设置,注册监视器

numberButton=new NumberButton[10];

for(int i=0;i<=9;i++)

{

numberButton[i]=new NumberButton(i);

numberButton[i].addActionListener(this);

}

oprationButton=new OperationButton[4];

for(int i=0;i<4;i++)

{

oprationButton[i]=new OperationButton(运算符号[i]);

oprationButton[i].addActionListener(this);

}

小数点按钮=new Button(".");

正负号按钮 =new Button("+/-");

等号按钮=new Button("=");

求倒数按钮=new Button("1/x");

退格按钮=new Button("退格");

清零按钮=new Button("C");

清零按钮.setForeground(Color.red);

退格按钮.setForeground(Color.red);

等号按钮.setForeground(Color.red);

求倒数按钮.setForeground(Color.blue);

正负号按钮.setForeground(Color.blue);

小数点按钮.setForeground(Color.blue);

退格按钮.addActionListener(this);

清零按钮.addActionListener(this);

等号按钮.addActionListener(this);

小数点按钮.addActionListener(this);

正负号按钮.addActionListener(this);

求倒数按钮.addActionListener(this);

//对显示过程的文本框进行设置

process=new JTextField(10);

process.setHorizontalAlignment(JTextField.LEFT);

process.setForeground(Color.blue);

process.setFont(new Font("TimesRoman",Font.PLAIN,14));

process.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));