java课程设计报告(完整版)

  • 格式:doc
  • 大小:132.50 KB
  • 文档页数:18

下载文档原格式

  / 41
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

1、摘要

2、概要设计

3、详细设计

4、测试分析

5、总结

6、参考文献

【前言】

Java不依赖平台的特点使得它受到广泛的关注,Java已成为网络时代最重要的语言之一。Java语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。目前,很多新的技术领域都涉及Java语言,国内外许多大学已将Java语言列入了本科教学计划,掌握Java已经成为共识。

本次课程设计就是利用java语言来编写简单的计算器,能进行加、减、乘、除四则运算,下面给出了该设计的理论分析和具体步骤。

一、摘要

本计算器可以进行简单的四则运算(加、减、乘、除),但仅限于十进制下。“Backspace”按钮表示退格,“CE”按钮表示清除当前文本框内的数据,“C”按钮表示清除文本框内数据,同时var、answer清零。该程序可在JCreator环境下直接运行。

二、概要设计

1、自定义说明

(1)类名:Calculator

作用:主类

继承的父类:JFrame类

实现的接口:ActionListener类

public class Calculator extends JFrame implements ActionListener

{

private static String[] btnTexts = {"0","1","2","3","4","5","6","7","8","9","+","-","*","/",".","+/-"}; //定义数组bstTexts来存放计算器上的各个按钮

Button button[] = new Button[16];

Button BkButton,CeButton,CButton,EqButton;

boolean clickable; //控制当前能否按键

double vard, answerd; //用来保存double型数据的中间值(vard)和最后结

果(answerd)

short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用

来保存前次进行何种运算DecimalFormat df; //设置数据输出精度

private JTextField displayField = new JTextField(" "); //计算结果显示区

public Calculator()

{

………

}

public void actionPerformed(ActionEvent event)

{

………

}

}

(2)方法名:Calculator

作用:设置窗体布局

public Calculator()

{

//Frame frame = new Frame("Calculator");

super("Calculator"); //显示主窗口标题“Calculator”

df = new DecimalFormat("0.00000000"); //设置数据输出精度(对于double

型值)

BkButton = new Button("Backspace");

BkButton.setForeground(Color.red);

CeButton = new Button("CE");

CeButton.setForeground(Color.red);

CButton = new Button("C");

CButton.setForeground(Color.red);

EqButton = new Button("=");

EqButton.setForeground(Color.red); //将“Backspace”、“CE”、”C”、

“=”显示为红色

BkButton.addActionListener(this);

CeButton.addActionListener(this);

CButton.addActionListener(this);

EqButton.addActionListener(this);

displayField.setHorizontalAlignment(JTextField.RIGHT); //将计算结

果显示在displayField的右面

JPanel p1 = new JPanel(new FlowLayout()); //以FlowLayout布局p1 p1.add(BkButton);

p1.add(CeButton);

p1.add(CButton);

p1.add(EqButton); //设置四个按钮:"Backspace","CE","C","="

JPanel p2 = new JPanel(new GridLayout(2,1)); //以GridLayout布局p2 p2.add(displayField);

p2.add(p1); //加入显示结果的JTextField和p1

JPanel p3 = new JPanel(new GridLayout(4,4)); //以GridLayout布局p3 for(int i = 0;i < btnTexts.length;i++)

{

button[i] = new Button(btnTexts[i]); //将数组btnTexts[]的值

赋给数组button[] button[i].setForeground(Color.blue); //组件button的前景色显

示蓝色

p3.add(button[i]);

button[i].addActionListener(this);

}

Container cp = this.getContentPane(); //采用默认的BorderLayout

布局cp

cp.add(p2,BorderLayout.NORTH);

cp.add(p3,BorderLayout.CENTER);

}

(3)方法名:actionPerformed

作用:设置各个按钮的行为

public void actionPerformed(ActionEvent event)

{

boolean sign = false; //判断是否是double型数参与运算,是为true,

不是为false

Object temp = event.getSource();

try

{

for (int i = 0; i <= 9; i++) //如果按下数据按钮,将按下的按钮代表

的数据插入的当前文本框字符串之后