Java课程设计——保存过程的计算器

Java课程设计——保存过程的计算器
Java课程设计——保存过程的计算器

Java 课程设计报告

保存计算过程的计算器的设计

专业 计算科学与技术(网络技术)

学生姓名 班级 学

1 指导教师 完成日期

保存计算过程的计算器的设计

目录

1设计要求 (1)

2总体设计 (1)

2.1 CalculatorWindow类设计 (2)

2.2 NumberButton类设计 (2)

2.3 OperationButton类设计 (2)

2.4 HandleDigit类设计 (2)

2.5 HandleOperation类设计 (2)

2.6 HandleDot类设计 (3)

2.7 HandleEquality类设计 (3)

2.8 HandleSin类设计 (3)

2.9 HandleBack类设计 (3)

2.10 HandleClear类设计 (3)

2.11 HandlePOrN类设计 (3)

3详细设计 (3)

3.1CalculatorWindow类 (3)

3.2NumberButton类 (9)

3.3 OperationButton类 (10)

3.4 HandleDigit类 (11)

3.5 HandleOperation类 (13)

3.6 HandleDot类 (16)

3.7 HandlePOrN类 (18)

3.8 HandleEquality类 (19)

3.9 HandleSin类 (22)

3.10 HandleBack类 (24)

3.11 HandleClear类 (26)

4代码调试问题 (28)

5软件发布 (28)

6程序运行效果 (28)

7设计心得 (30)

Java课程设计报告(2014)

保存过程的计算器的设计

1 设计要求

Windows 2000/XP系统中的“计算器”是一个方便实用的计算机工具,但是没有提供显示计算过程的功能。本计算器所遵循的计算规则与Windows 2000/XP系统中的“计算器”相同,出了具有普通的计算功能外,还具有现实计算过程,保存计算过程的功能。

(1)单击“计算器”上的数字按钮(0、1、2、3、4、5、6、7、8、9)可以设置参与计算的运算数。

(2)单击“计算器”上的运算符按钮(+、-、*、/)可以选择运算符号。

(3)单击“计算器”上的函数按钮可以显示相应的函数值。

(4)单击“计算器”上的“=”按钮显示计算结果。

(5)在一个文本框中显示当前的计算过程,在一个文本区中显示以往的计算过程和发生计算时的系统时间。

(6)单击“保存”按钮可以将文本区中的全部计算过程保存到文件;单击“复制”按钮可以将文本区中选中的文本复制到剪贴板;单击“清除”按钮可以清楚文本区中的全部内容。

2 总体设计

在设计计算器时,可以编写11个Java源文件:CalculatorWindow.java、NumberButton.java、OperationButton.java、HandleDigit.java、HandleOperation.java、HandleDot.java、HandleEquality.java、HandleSin.java、HandleBack.java、HandleClear.java、HandlePOrN.java。

计算器除了上述的11个Java源文件给出的类外,还需要Java提供的一些重要的类,入JButton、JTextField、JTextArea和LinkedList等。

图2.1 类之间的组合关系

1

保存计算过程的计算器的设计

2.1 CalculatorWindow类设计

CalculatorWindow类负责创建计算器的主窗口,该类含有Main方法,计算器从该类开始执行。CalculatorWindow有十四种类型的对象,分别是LinkedList、NumberButton、OperationButton、JButton、JTextField、JTextArea、HandleDigit、HandleOperation、HandleDot、HandleEquality、HandleSin、HandleBack、HandleClear、HandlePOrN对象。CalcuatorWindow类创建的窗口以及其中的主要成员如图2.2所示。CalculatorWindow类的主要成员的作用将在后面的详细设计中阐述。

图2.2 CalculatorWindow窗口及主要的对象成员

2.2 NumberButton类设计

NumberButton类创建的对象是主类CalculatorWindow窗口中的一个“数字”按钮。NumberButton类有一个int类型的成员number,标明所创建的按钮所含有的数字。NumberButton所创建的10个按钮被添加到CalcuatorWindow窗口中。2.3 OperationButton类设计

OperationButton类创建的对象是主类CalculatorWindow窗口中的一个“运算符”按钮。OperationButton类有一个String类型的成员operateSign,用于标明所创建的按钮所含有的运算符号。OperationButton所创建的4个按钮被添加到CalculatorWindow窗口中。

2.4 HandleDigit类设计

HandleDigit类创建的对象负责处理ActionEvent事件。当用户单击“数字”按钮时,HandleDigit类所创建的对象负责处理和数字有关的计算过程。

2.5 HandleOperation类设计

HandleOperation类创建的对象负责处理ActionEvent事件,当用户单击“运

2

Java 课程设计报告(2014)

3

算符”按钮时,HandleOperation 类所创建的对象负责处理和运算符有关的计算过程。

2.6 HandleDot 类设计

HandleDot 类创建的对象负责处理ActionEvent 事件,当用户单击“.”按钮(小数点)时,HandleDot 类所创建的对象负责处理小数点。 2.7 HandleEquality 类设计

HandleEquality 类创建的对象负责处理ActionEvent 事件。当用户单击“=”按钮时,HandleEquality 类所创建的对象计算有关数据。 2.8 HandleSin 类设计

HandleSin 类创建的对象负责处理ActionEvent 事件。当用户单击“sin ”按钮(正弦三角函数)时,HandleSin 类所创建的对象负责处理正弦三角函数的值。 2.9 HandleBack 类设计

HandleBack 类创建的对象负责处理ActionEvent 事件。当用户单击“退格”按钮时,HandleBack 类所创建的对象负责计算正弦三晋函数的值。 2.10 HandleClear 类设计

HandleClear 所创建的对象负责处理ActionEvent 事件。当用户成功单击C 按钮(清零)时,HandleClear 类所创建的对象负责清除有关的计算结果。 2.11 HandlePOrN 类设计

HandlePOrN 类创建的对象负责处理ActionEvent 事件。当用户单击“+/-”(正负)按钮时,HandlePOrN 类所创建的对象负责处理数字的正负转换。

3详细设计

3.1CalculatorWindow 类 1、效果图

CalculatorWindow 创建的窗口效果如图3.1所示。

图3.1 CalculatorWindow 创建的窗口

2、UML 图

保存计算过程的计算器的设计

CalculatorWindow类是javax.swing包中JFrame的一个子类,并实现了

CalculatorWindow

4

4、代码(CalculatorWindow.java)

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.border.*;

import java.util.LinkedList;

import java.io.*;

public class CalculatorWindow extends JFrame implements ActionListener {

NumberButton numberButton[];

OperationButton operationButton[];

JButton Flex, zhengfu, Backspace, Equals, Zero, sin;

JTextField resultShow; //显示计算结果

JTextField showComputerProcess; //显示当前计算过程

JTextArea saveComputerProcess; //显示计算步骤

JButton saveButton, copyButton, clearButton;

LinkedList list; //链表用来存放第一个运算数、运算符号和第二个运算数 HandleDigit handleDigit; //负责处理ActionEvent事件

HandleOperation handleOperation;

HandleBack handleBack;

HandleClear handleClear;

HandleEquality handleEquality;

HandleDot handleDot;

HandlePOrN handlePOrN;

HandleSin handleSin;

public CalculatorWindow() {

setTitle("计算器计算机112班程逸群");

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));

resultShow.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.setEditable(false);

saveComputerProcess = new JTextArea();

5

保存计算过程的计算器的设计

saveComputerProcess.setEditable(false);

saveComputerProcess.setFont(new Font("宋体", Font.PLAIN, 16));

numberButton = new NumberButton[10];

handleDigit = new HandleDigit(list, resultShow, showComputerProcess); for (int i = 0; i <= 9; i++) {

numberButton[i] = new NumberButton(i);

numberButton[i].setFont(new Font("Arial", Font.BOLD, 20));

numberButton[i].addActionListener(handleDigit);

}

operationButton = new OperationButton[4];

handleOperation = new HandleOperation(list, resultShow,

showComputerProcess, saveComputerProcess);

String yunsuan[] = {"+", "-", "*", "/"};

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

operationButton[i] = new OperationButton(yunsuan[i]);

operationButton[i].setFont(new Font("Arial", Font.BOLD, 20));

operationButton[i].addActionListener(handleOperation);

}

Flex = new JButton(".");

handleDot = new HandleDot(list, resultShow, showComputerProcess);

Flex.addActionListener(handleDot);

zhengfu = new JButton("+/-");

handlePOrN = new HandlePOrN(list, resultShow, showComputerProcess); zhengfu.addActionListener(handlePOrN);

Equals = new JButton("=");

handleEquality = new HandleEquality(list, resultShow,

showComputerProcess, saveComputerProcess);

Equals.addActionListener(handleEquality);

sin = new JButton("sin");

handleSin = new HandleSin(list, resultShow,

showComputerProcess, saveComputerProcess);

sin.addActionListener(handleSin);

Backspace = new JButton("退格");

handleBack = new HandleBack(list, resultShow, showComputerProcess); Backspace.addActionListener(handleBack);

Zero = new JButton("C");

handleClear = new HandleClear(list, resultShow, showComputerProcess); Zero.addActionListener(handleClear);

Zero.setForeground(Color.red);

Backspace.setForeground(Color.red);

Equals.setForeground(Color.red);

sin.setForeground(Color.blue);

zhengfu.setForeground(Color.blue);

Flex.setForeground(Color.blue);

6

Java课程设计报告(2014)

panelLeft = new JPanel();

panelRight = new JPanel();

panelLeft.setLayout(new BorderLayout());

JPanel centerInLeft = new JPanel();

panelLeft.add(resultShow, BorderLayout.NORTH);

panelLeft.add(centerInLeft, BorderLayout.CENTER);

centerInLeft.setLayout(new GridLayout(4, 5));

centerInLeft.add(numberButton[1]);

centerInLeft.add(numberButton[2]);

centerInLeft.add(numberButton[3]);

centerInLeft.add(operationButton[0]);

centerInLeft.add(Zero);

centerInLeft.add(numberButton[4]);

centerInLeft.add(numberButton[5]);

centerInLeft.add(numberButton[6]);

centerInLeft.add(operationButton[1]);

centerInLeft.add(Backspace);

centerInLeft.add(numberButton[7]);

centerInLeft.add(numberButton[8]);

centerInLeft.add(numberButton[9]);

centerInLeft.add(operationButton[2]);

centerInLeft.add(sin);

centerInLeft.add(numberButton[0]);

centerInLeft.add(zhengfu);

centerInLeft.add(Flex);

centerInLeft.add(operationButton[3]);

centerInLeft.add(Equals);

panelRight.setLayout(new BorderLayout());

panelRight.add(showComputerProcess, BorderLayout.NORTH);

saveButton = new JButton("保存");

copyButton = new JButton("复制");

clearButton = new JButton("清除");

saveButton.setToolTipText("保存计算过程到文件");

copyButton.setToolTipText("复制选中的计算过程");

clearButton.setToolTipText("清除计算过程");

saveButton.addActionListener(this);

copyButton.addActionListener(this);

clearButton.addActionListener(this);

panelRight.add(new JScrollPane(saveComputerProcess), BorderLayout.CENTER);

JPanel southInPanelRight = new JPanel();

southInPanelRight.add(saveButton);

southInPanelRight.add(copyButton);

southInPanelRight.add(clearButton);

7

保存计算过程的计算器的设计

panelRight.add(southInPanelRight, BorderLayout.SOUTH);

JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panelLeft, panelRight);

add(split, BorderLayout.CENTER);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

setBounds(100, 50, 528, 258);

validate();

}

public void actionPerformed(ActionEvent e) {

if (e.getSource() == copyButton) {

saveComputerProcess.copy();

}

if (e.getSource() == clearButton) {

saveComputerProcess.setText(null);

}

if (e.getSource() == saveButton) {

JFileChooser chooser = new JFileChooser();

int state = chooser.showSaveDialog(null);

File file = chooser.getSelectedFile();

if (file != null && state == JFileChooser.APPROVE_OPTION) {

try {

String content = saveComputerProcess.getText();

StringReader read = new StringReader(content);

BufferedReader in = new BufferedReader(read);

FileWriter outOne = new FileWriter(file);

BufferedWriter out = new BufferedWriter(outOne);

String str = null;

while ((str = in.readLine()) != null) {

out.write(str);

out.newLine();

}

in.close();

out.close();

} catch (IOException e1) {

}

}

}

}

public static void main(String args[]) {

new CalculatorWindow();

}

}

8

Java课程设计报告(2014)

3.2NumberButton类

1、效果图

NumberButton创建的数字按钮效果如图3.3所示。

图3.3 NumberButton创建的数字按钮

2、UML图

NumberButton类是javax.swing包中JButton的一个子类,所创建的对象是CalculatorWindow类中NumberButton型数组:numberButton中的元素。标明NumberButton类的主要成员变量、方法以及CalculatorWindow类之间组合关系的

number:int

4、代码(NumberButton.java)

import java.awt.*;

import java.awt.event.*;

9

保存计算过程的计算器的设计

import javax.swing.*;

public class NumberButton extends JButton {

int number;

public NumberButton(int number) {

super("" + number);

this.number = number;

setForeground(Color.blue);

}

public int getNumber() {

return number;

}

}

3.3 OperationButton类

1、效果图

OperationButton创建的运算符按钮的效果如图3.5所示。

图3.5 OperationButton创建的数字按钮

2、UML图

OperationButton是Javax.swing包中JButton组件的子类。所创建的对象是CalculatorWindow类中OperationButton型数组:operationButton中的元素。标明OperationButton类的主要成员变量、方法以及和CalculatorWindow类直接的组合关系的UML如图3.6所示。

operationSign:String OperationButton:OperationButton[]

10

4、代码(OperationButton.java)

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class OperationButton extends JButton {

String operateSign;

public OperationButton(String s) {

super(s);

operateSign = s;

setForeground(Color.red);

}

public String getOperateSign() {

return operateSign;

}

}

3.4 HandleDigit类

1、效果图

HandleDigit类创建的对象无效果图。

2、UML图

HandleDigit类实现了ActionListener接口,创建的对象handleDigit是CalculatorWindow窗口的成员之一。标明HandleDigit类的主要成员变量、方法以及和CalculatorWindow类之间组合关系的UML图如图3.7所示。

11

保存计算过程的计算器的设计

4、代码(HandleDigit.java)

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.LinkedList;

import javax.swing.JTextField;

public class HandleDigit implements ActionListener {

LinkedList list;

JTextField resultShow;

JTextField showComputerProcess;

HandleDigit(LinkedList list, JTextField t1, JTextField t2) { this.list = list;

resultShow = t1;

12

Java课程设计报告(2014)

showComputerProcess = t2;

}

public void actionPerformed(ActionEvent e) {

NumberButton b = (NumberButton) e.getSource();

if (list.size() == 0) {

int number = b.getNumber();

list.add("" + number);

resultShow.setText("" + number);

showComputerProcess.setText("" + list.get(0));

} else if (list.size() == 1) {

int number = b.getNumber();

String num = list.getFirst();

String s = num.concat("" + number);

list.set(0, s);

resultShow.setText(s);

showComputerProcess.setText("" + list.get(0));

} else if (list.size() == 2) {

int number = b.getNumber();

list.add("" + number);

resultShow.setText("" + number);

showComputerProcess.setText("" + list.get(0) + "" + list.get(1) + "" + list.get(2));

} else if (list.size() == 3) {

int number = b.getNumber();

String num = list.getLast();

String s = num.concat("" + number);

list.set(2, s);

resultShow.setText(s);

showComputerProcess.setText("" + list.get(0) + "" + list.get(1) + "" + list.get(2));

}

}

}

3.5 HandleOperation类

1、效果图

HandleOperation类创建的对象无效果图。

2、UML图

HandleOperation类实现了ActionListener接口,创建的对象handleOperation 是CalculatorWindow窗口的成员之一。标明HandleOperation类的主要成员变量、方法以及和CalculatorWindow类之间组合关系的UML图如图3.8所示。

13

保存计算过程的计算器的设计

saveComputerProcess:JTextArea

4、代码(HandleOperation.java)

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.LinkedList;

import javax.swing.JTextArea;

import javax.swing.JTextField;

public class HandleOperation implements ActionListener {

LinkedList list;

JTextField resultShow, showComputerProcess;

JTextArea saveComputerProcess;

HandleOperation(LinkedList list, JTextField t1, JTextField t2,

14

Java课程设计报告(2014)

JTextArea t3) {

this.list = list;

resultShow = t1;

showComputerProcess = t2;

saveComputerProcess = t3;

}

public void actionPerformed(ActionEvent e) {

OperationButton b = (OperationButton) e.getSource();

if (list.size() == 1) {

String fuhao = b.getOperateSign();

list.add(fuhao);

showComputerProcess.setText("" + list.get(0) + "" + list.get(1)); } else if (list.size() == 2) {

String fuhao = b.getOperateSign();

list.set(1, fuhao);

showComputerProcess.setText("" + list.get(0) + "" + list.get(1)); } else if (list.size() == 3) {

String numOne = list.getFirst();

String numTwo = list.getLast();

String Marks = list.get(1);

String middleProcess = numOne + "" + Marks + numTwo;

try {

double n1 = Double.parseDouble(numOne);

double n2 = Double.parseDouble(numTwo);

double result = 0;

if (Marks.equals("+")) {

result = n1 + n2;

} else if (Marks.equals("-")) {

result = n1 - n2;

} else if (Marks.equals("*")) {

result = n1 * n2;

} else if (Marks.equals("/")) {

result = n1 / n2;

}

String fuhao = b.getOperateSign();

list.clear();

list.add("" + result);

list.add(fuhao);

String pro = middleProcess + "=" + result + "" + list.get(1); showComputerProcess.setText(pro);

saveComputerProcess.append(" " + middleProcess + "=" + result + "\n"); resultShow.setText("" + result);

} catch (Exception ee) {

}

15

保存计算过程的计算器的设计

}

}

}

3.6 HandleDot类

1、效果图

HandleDot类创建的对象无效果图。

2、UML图

HandleDot类实现了ActionListener接口,创建的对象handleDot是CalculatorWindow窗口的成员之一。标明HandleDot类的主要成员变量、方法以及和CalculatorWindow类之间组合关系的UML图如图3.9所示。

handleDot:HandleDot

16

Java课程设计报告(2014)

4、代码(HandleDot.java)

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.LinkedList;

import javax.swing.JTextField;

public class HandleDot implements ActionListener {

LinkedList list;

JTextField resultShow, showComputerProcess;

HandleDot(LinkedList list, JTextField t1, JTextField t2) {

this.list = list;

resultShow = t1;

showComputerProcess = t2;

}

public void actionPerformed(ActionEvent e) {

String dot = e.getActionCommand();

if (list.size() == 1) {

String num = list.getFirst();

String s = null;

if (num.indexOf(dot) == -1) {

s = num.concat(dot);

list.set(0, s);

} else {

s = num;

}

list.set(0, s);

resultShow.setText(s);

showComputerProcess.setText("" + list.get(0));

} else if (list.size() == 3) {

String num = list.getLast();

String s = null;

if (num.indexOf(dot) == -1) {

s = num.concat(dot);

list.set(2, s);

} else {

s = num;

}

resultShow.setText(s);

showComputerProcess.setText("" + list.get(0) + "" + list.get(1) + "" + list.get(2));

}

}

}

17

保存计算过程的计算器的设计

3.7 HandlePOrN类

1、效果图

HandlePOrN类创建的对象无效果图。

2、UML图

HandlePOrN类实现了ActionListener接口,创建的对象handlePOrN是CalculatorWindow窗口的成员之一。标明HandlePOrN类的主要成员变量、方法以

handlePOrN:HandlePOrN 3、类设计

4、代码(HandlePOrN.java)

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

18

简单的四则运算计算器程序

简单的四则运算计算器程序

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

附件:程序源代码 // sizheyunsuan.cpp : Defines the entry point for the console application. #include #include const int MAX=100; class Operand{ private: double operS; public: Operand(){} Operand(double opers){ operS=opers; } void set(double opers){ operS=opers; } double get() { return operS;} }; class Operator{ private: char operF; int priority; public: Operator(){} Operator(char operf) { operF=operf; switch(operf) { case'(':priority=-1;break; case'+':priority=0;break; case'-':priority=0;break; case'*':priority=1;break; case'/':priority=1;break; case')':priority=2;break; } } void set(char operf){ operF=operf; } char get(){ return operF;} int getpriority(){ return priority; } };

简单计算器JAVA

浙江科技学院 经济管理学院 JAVA语言课程设计报告 选题名称简单计算器 学生学号 专业班级信管101 学生姓名 学生成绩 指导教师朱军 工作时间2013-7-5

目录 第一章选题简介 第二章需求分析 1.系统要实现的目标分析 2.对输入输出数据及流程的分析 3.开发环境及运行环境分析 第三章系统设计 1.系统功能模块设计 2.类设计 3.数据库的设计(如果有) 4.界面设计 第四章测试 1.测试用例及结果 2.程序功能的评价 第五章总结 1.遇到的问题及解决的方法 2.开发体会及自评成绩 参考文献 第一章选题简介:简单计算器

第二章需求分析 1.系统要实现的目标分析:设计一个简单计算器,点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算;如果输入有误时可以按Clear撤销后重新输入新数据。 2.对输入输出数据及流程的分析:输入的符号有JiSuanQi、File、Edit、Help、on、off、close、copy、0、1、2、3、4、5、6、7、8、9、+、-、*、/、=、Backspace、CE、C,中文意思依次是计算器、文件夹、项目、帮助、开、关、复制、0、1、2、3、4、5、6、7、8、9、加、减、乘、除、等于、退格; 3.开发环境及运行环境分析:Microsoft Windows2000、jdk1.7.0_25、JCreator Pro; 第三章系统设计 1.系统功能模块设计:加、减、乘、除运算;“等于”符号;复位; 2.类设计:public void disp() 创建无值函数disp(),用来存放界面所需要展示的元素,包 括有面板,按钮,弹出对话框,显示框等。 public void actionPerformed(ActionEvent e) 创建无值函数actionPerformed(ActionEvent e),其允许的输入 值类型为ActionEvent e,在里面编写的是加减乘除等一些算 法。 public void setSum() 创建无值函数setSum(),显示出经过算法计算出的结果, public void windowClosing(WindowEvent e)

计算器java课程设计(完整版)

《面向对象程序设计》课程设计报告 课程设计题目:计算器 学生姓名:李婉如 专业:信息管理与信息系统 班级:1424603 指导教师:司红伟 2016年 5 月 25 日

一、课设任务及要求 1)课设任务: ⑴设计的计算器应用程序可以完成加法、减法、乘法、除法以及取余运 算(可以进行浮点数和负数的运算)。 ⑵有求倒数、退格和清零功能。 2)创新要求: 能进行正切、余弦,以及求平方根、指数(包括对e)、自然对数运算。 3)设计要求 ①设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。 ②课程设计可选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。 ③认真按时完成课程设计报告,课程设计报告内容包括:设计任务与要求、需求分析、设计思路、详细设计、运行调试与分析讨论和设计体会与小结六个部分。

二、设计思路 ⑴本应用程序继承自框架类(JFrame),容器Container c采用BorderLayout 边缘布局,将单行文本框加入到“North”区域,包含各种按钮的面板JPanel p加入到”Center”区域。包含各种按钮的面板JPanel p 采用3行6列的网格布局,然后将数字按钮和运算符按钮以及控制按钮用一个for循环添加到面板中同时注册按钮事件监听器。如: Button b=new Button(); b.addActionListener(事件监听器); ⑵事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”求倒”)、退格按钮事件(”退格”)、清除按钮事件(“C”) 、正切(tan)、余弦(cos),以及求平方根(sqrt)、指数(pow)、对e的指数(exp)、对数运算(log)。 ⑶在事件处理,触发按钮事件时,先判断是或是数字是或是“-/+”是或是“.”,是的话就将负号“-”、数字、小数点“.”分别写入文本框并存放在sum中,然后判断是或是“退格”、“求倒”等,是的话进行相应的处理,都不是的话则跳到doOperation()执行运算同时将运算符存放在preOperater中。触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。 ⑷计算器完成的是一个数学表达式,如:3+2,所以可以采用一个数组来存储数字或字符,如3,+,2分别存储在数组中,最后运算时,可以一一取出来进行运算。 ⑸利用按钮设计计算器的各个运算符和操作符,通过按钮的事件处理实现按钮计算功能。 ⑹利用文本框显示操作数和运算结果。

计算器使用说明书

计算器使用说明书目录 取下和装上计算器保护壳 (1) 安全注意事项 (2) 使用注意事项 (3) 双行显示屏 (7) 使用前的准备 (7) k模式 (7) k输入限度 (8) k输入时的错误订正 (9) k重现功能 (9) k错误指示器 (9) k多语句 (10) k指数显示格式 (10) k小数点及分隔符 (11) k计算器的初始化 (11) 基本计算 (12) k算术运算 (12) k分数计算 (12) k百分比计算 (14) k度分秒计算 (15) kMODEIX, SCI, RND (15) 记忆器计算 (16) k答案记忆器 (16) k连续计算 (17) k独立记忆器 (17) k变量 (18) 科学函数计算 (18) k三角函数/反三角函数 (18) Ch。6 k双曲线函数/反双曲线函数 (19) k常用及自然对数/反对数 (19) k平方根﹑立方根﹑根﹑平方﹑立方﹑倒数﹑阶乘﹑ 随机数﹑圆周率(π)及排列/组合 (20) k角度单位转换 (21) k坐标变换(Pol(x, y)﹐Rec(r, θ)) (21) k工程符号计算 (22) 方程式计算 (22) k二次及三次方程式 (22) k联立方程式 (25) 统计计算 (27)

标准偏差 (27) 回归计算 (29) 技术数据 (33) k当遇到问题时 (33) k错误讯息 (33) k运算的顺序 (35) k堆栈 (36) k输入范围 (37) 电源(仅限MODEx。95MS) (39) 规格(仅限MODEx。95MS) (40) 取下和装上计算器保护壳 ?在开始之前 (1) 如图所示握住保护壳并将机体从保护壳抽出。 ?结束后 (2) 如图所示握住保护壳并将机体从保护壳抽出。 ?机体上键盘的一端必须先推入保护壳。切勿将显示屏的一端先推入保护壳。 使用注意事项 ?在首次使用本计算器前务请按5 键。 ?即使操作正常﹐MODEx。115MS/MODEx。570MS/MODEx。991MS 型计算器也必须至少每3 年更换一次电池。而MODEx。95MS/MODEx。100MS型计算器则须每2 年更换一次电池。电量耗尽的电池会泄漏液体﹐使计算器造成损坏及出现故障。因此切勿将电量耗尽的电池留放在计算器内。 ?本机所附带的电池在出厂后的搬运﹑保管过程中会有轻微的电源消耗。因此﹐其寿命可能会比正常的电池寿命要短。 ?如果电池的电力过低﹐记忆器的内容将会发生错误或完全消失。因此﹐对于所有重要的数据﹐请务必另作记录。 ?避免在温度极端的环境中使用及保管计算器。低温会使显示画面的反应变得缓慢迟钝或完全无法显示﹐同时亦会缩短电池的使用寿命。此外﹐应避免让计算器受到太阳的直接照射﹐亦不要将其放置在诸如窗边﹐取暖器的附近等任何会产生高温的地方。高温会使本机机壳褪色或变形及会损坏内部电路。 ?避免在湿度高及多灰尘的地方使用及存放本机。注意切勿将计算器放置在容易触水受潮的地方或高湿度及多灰尘的环境中。因如此会损坏本机的内部电路。 双行显示屏

java课程设计 计算器[1]解析

JA V A程序设计期末结课大作业 姓名张可新 学号(20123259) 班级信工1202 题目 java课程设计++计算器 成绩汇总 考核内容成绩 程序实现的功能(10分) 程序类图结构(10分) 方法间调用关系(10分) 程序代码(40分) 程序代码注释(10分) 运行结果(10分) 总结体会(10分) 总成绩 阅卷人

目录 一、课程设计任务及要求 (3) 二、需求分析 (3) 三、设计思路 (3) 四、详细设计 (4) 五、运行调试与分析讨论 (9) 六、设计体会与小结 (11) 七、参考文献 (12) 八、附录 (13)

1. 一、课程设计任务及要求 设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算。通过对计算器的编辑来检测和提升自己的java编程能力,并最终完成课程设计报告! 二、需求分析 2.设计的计算器可以完成加法、减法、乘法、除法的简单运算。 3.实现一些简单的扩展运算,如:正负号、倒数、退格、清零等功能。 4.添加小数点功能,用以实现浮点型数据的计算。 5.使用布局管理器设计一个计算器的界面,使用事件监听器处理数据的输入,并完成相关的计算 三、设计思路 1.界面设计:(如图3-1) 图3-1 2.设计思路: (1)根据所设计出来的界面,首先要设计其GUI界面,总体界面有一个

文本框,20个按钮,总体界面用BorderLayout布局,文本框放置在 最NORTH,然后0到9以及+,-,*,/等按钮放置到一个面板Panel 中,完成界面设计。 (2)设计计算流程,首先点击数字按钮时,将按钮数值添加到文本框当中,并将该数值保存到一个字符串中,再次点击数字按钮时,将之 前保存的字符串与新的数值拼接起来,再添加到文本框当中,直到 点击运算符按钮时,将文本框当中的字符串保存在一个字符串变量 中,然后重置文本框内容,将运算符号显示到文本框中,随后输入 第二个计算数据时,用同样的办法保存数据,最后通过控制“=”运 算符先将字符串数据转化成双精度类型,然后计算出结果并显示到 文本框当中。 (3)基本运算设计完成以后则开始考虑其他个别功能的实现,例如倒数、清零、退格等功能的实现,清零直接重置文本框内容,退格功能则 采用substring函数截取字符串长度。 四、详细设计 1.程序流程图: 2.主要代码展示及说明:

JAVA实现计算器课程设计

JAVA实现计算器课程设计 计算机科学系 计应0701班 指导老师:刘其昌 设计人员:陈秀桃 设计日期:2009年11月10日——2009年12月20日 计算器的设计 目录 第一章绪 论 ..................................................................... .. (2)

1.1 开发环 境 ..................................................................... . (2) 1.2 基本功能介 绍 ..................................................................... ......... 2 第二章系统设 计 ..................................................................... (3) 2.1 系统流程 图 ..................................................................... . (3) 2.2 系统功能框 图 ..................................................................... (3) 2.3 需求分 析 ..................................................................... ................ 4 第三章软件设 计 ..................................................................... (5) 3.1 界面设 计 ..................................................................... . (5) 3.2 代码设 计 .....................................................................

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

保存计算过程的计算器 Java程序设计课程设计报告保存计算过程的计算器 目录 1 概述.............................................. 错误!未定义书签。 1.1 课程设计目的............................... 错误!未定义书签。 1.2 课程设计内容............................... 错误!未定义书签。 2 系统需求分析.......................................... 错误!未定义书签。 2.1 系统目标................................... 错误!未定义书签。 2.2 主体功能................................... 错误!未定义书签。 2.3 开发环境................................... 错误!未定义书签。 3 系统概要设计.......................................... 错误!未定义书签。 3.1 系统的功能模块划分......................... 错误!未定义书签。 3.2 系统流程图................................. 错误!未定义书签。4系统详细设计........................................... 错误!未定义书签。 5 测试.................................................. 错误!未定义书签。 5.1 测试方案................................... 错误!未定义书签。 5.2 测试结果................................... 错误!未定义书签。 6 小结.................................................. 错误!未定义书签。参考文献................................................ 错误!未定义书签。附录................................................ 错误!未定义书签。 附录1 源程序清单...................................... 错误!未定义书签。

用java编写的计算器(Calculator)

import java.io.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class Calculator { public static void main(String[] args) { new MyfirstCalculator(); } } class MyfirstCalculator { Frame f=new Frame("calculator"); TextField tf=new TextField(50); ArrayList sa=new ArrayList();//sa用来存储sb中的数据 StringBuilder sb=new StringBuilder();//sb用来存储0-9中的数据 StringBuilder sb1=new StringBuilder();//用作判断,里面数据为:+,-,*,/四个中的任意一个或多个 StringBuilder sb2=new StringBuilder();//用作判断,里面数据为:= MyfirstCalculator() { init(); } public void init() { Button b0=new Button("0"); Button b1=new Button("1"); Button b2=new Button("2"); Button b3=new Button("3"); Button b4=new Button("4"); Button b5=new Button("5"); Button b6=new Button("6"); Button b7=new Button("7"); Button b8=new Button("8"); Button b9=new Button("9"); Button ba=new Button("="); Button bb=new Button("-"); Button bc=new Button("+"); Button bd=new Button("*"); Button be=new Button("/"); //Button bf=new Button("D");//定义一个清空按钮,用来从头开始计数

实用计算器程序

目录 1.基本功能描述 (1) 2.设计思路 (1) 3.软件设计 (10) 3.1设计步骤 (10) 3.2界面设计 (10) 3.3关键功能实现 (12) 4.结论与心得 (14) 5.思考题 (15) 6.附录 (17) 6.1调试报告 (17) 6.2测试结果 (18) 6.3关键代码 (21)

实用计算器程序 1.基本功能描述 (1)可以计算基本的运算:加法、减法、乘法、除法。 (2)可以进行任意加减乘除混合运算。 (3)可以进行带任意括号的任意混合运算。 (4)可以进行单目科学运算:1/x、+/-、sqrt、x^2、e^2等。 (5)可以对显示进行退格或清除操作。 (6)可以对计算结果自动进行存储,并在用户需要的时候查看,并且可在其基础上进行再运算操作。 (7)界面为科学型和普通型,可在两界面间通过按钮转换。 2.设计思路 计算器属于桌面小程序,适合使用基于对话框的MFC应用程序设计实现。首先要思考的问题是:我的程序需要实现什么样的功能?需要哪些控件?需要哪些变量?需要哪些响应? 我们知道基于对话框的MFC应用程序的执行过程是:初始化、显示对话框,然后就开始跑消息循环列表,当我们在消息循环列表中获取到一个消息后,由相应的消息响应函数执行相应的操作。根据这个流程我们制定出计算器程序的程序框架主流程图,如下页图1所示。 根据程序主流程图可以看出,我们需要一些能响应用户操作的响应函数来实现我们的计算器相应按键的功能。

图1 程序主流程图 说明:所以流程图由深圳市亿图软件有限公司的流程图绘制软件(试用版)绘制,转 存PDF后导出为图片加入到word中的,所以可能会打印效果不好,但确实为本人绘制。

java课程设计计算器3科学计算器

import javax.swing.*;// 把 javax包里面的swing包里面的所有东西引进来 import java.awt.*;// 导入awt包里的所有java类 import java.awt.event.*;//导入包event import java.text.DecimalFormat;// 处理文本、日期、数字和消息的类和接口 import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; import java.awt.geom.Point2D; public class biaozhunjisuanqi extends JFrame implements ActionListener {// public代表该类公有 //class声明一个类 // biaozhunjisuanqi为类名 // extends 是继承类 //implements代表实现接口 //窗体名称biaozhunjisuanqi继承JFrame类和ActionListener接口,并实现public void actionPerformed(ActionEvent e){}方法 private static final long serialVersionUID = 1L;// serialVersionUID相当于java类的身份证, 默认为1L, serialVersionUID作用是序列化时保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性 private JPanel jContentPane = null; // 创建面板对象, null代表为这些变量赋初值为空,即不分配内存空间,变量不指向任何地址。private是访问控制符,代表这些变量的访问级别为私有,私有级别只能在当前类中进行访问, 这些(JPanel 、JTextArea 、JPanel、 JButton )是java中AWT(包)中的类,用能进行桌面级应用程序的开发,就像平时用的word,上面有各种文本框,菜单栏,工具栏按钮等等,这些都是对象 private JPanel jPanel= null; //JPanel 作为一个容器,可以包容一些组件,然后将这个 JPanel

科学计算器程序Java代码

科学计算器程序Java代码

MC:清除独立内存里的数字 MR:读出独立内存数字 MS:将显示数字保存到独立内存,并取代内存中原有数字 M+:将显示数字向独立内存累加 (独立内存是一个临时寄放数字的存储器,方便计算) CE:纠错键(CLEAR ERROR).输入数字有错,按它可以重新输入 C:表示清零,将计算器恢复到开机状态 功能举例: 源程序如下: import java.awt.BorderLayout;

import javax.swing.JRadioButtonMenuItem; import javax.swing.JTextField; public class Calucator extends JFrame { private JTextField tf; private JPanel panel1, panel2, panel3, panel4; private JMenuBar myBar; private JMenu menu1, menu2, menu3; private JMenuItem editItem1, editItem2, help1, help2, help3; private JRadioButtonMenuItem seeItem1, seeItem2;//单选框 private JCheckBoxMenuItem seeItem3;//复选框 private ButtonGroup bgb; private String back; private boolean IfResult = true, flag = false;

java课程设计 计算器实际与实现

《面向对象程序设计》 课程设计报告 题目: 计算器设计与实现 专业: 班级: 姓名: 指导教师: 成绩: xx 201x 年 x 月xx 日 xxxxxx

目录 1 设计内容及要求 (1) 1.1设计内容 (1) 1.2设计任务及具体要求 (1) 2 概要设计 (1) 2.1 功能需求 (1) 2.2 系统的开发运行环境 (2) 3 设计过程 (2) 3.2系统功能模块 (3) 4 设计结果与分析 (4) 4.1功能模块的划分 (4) 4.2功能模块的实现 (4) 小结 (10) 5 参考文献 (11)

1 设计内容及要求 1.1设计内容 该程序是一个图形界面的简单Java计算器,具有良好的界面,使用人员能快捷简单的进行操作。即时准确地获得需要的计算结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。可以进行简单的四则运算(加、减、乘、除,等) 1.2设计任务及具体要求 计算器的设计与实现,使学生巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。在日常生活中经常需要用到计算器,比如科学计算、数字计算、会计业务甚至是日常生活中的一些运算,当运算比较复杂时没有计算器就会显得很麻烦。为了解决日常生活中的困难,特意设计了这个计算器系统。 2 概要设计 2.1 功能需求 在日常生活中人们总是难以避免的要进行一些运算,当运算比较复杂时没有计算器就会显得很麻烦。为了解决日常生活中的困难,特意设计了这个计算器系统。在该系统中不仅可以进行整数的加、减、乘、除等简单运算,也可以进行浮点数的加、减、乘、除等运算。除此之外还可以进行三角函数、指数、对数、平方等运算。人们应用它可以解决日常生活中的一些运算问题,比如做买卖时进行交易的过程中就可以利用该计算器进行数量、价格以及金额的统计计算。学生也可以利用该计算器进行数学运算,解决简单的三角函数运算。

计算器设计的java课程设计报告

】 · ( 华东交通大学课程设计 课 程: Java 程序设计 题 目: 计算器设计 年 级: 2010级 专 业: 信息一班 * 学 号: 姓 名: 组 员: 指导教师: 课程设计题目:计算器设计

课程设计(论文)任务书 基础学院信息与计算科学专业2010—1 班 一、课程设计(论文)题目计算器的设计 二、课程设计(论文)工作自2013 年 6 月23日起至2013 年6月27日止。 三、课程设计(论文) 地点: 计算机中心 · 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握系统各功能模块的基本工作原理; (2)掌握Java的基本编程原理和基本的编程方法; (3)使学生学会系统调试; (4)培养学生分析、解决问题的能力; (5)提高学生的软件文档写作能力和团队合作精神。 2.课程设计的任务及要求 ' 1)基本要求: (1)分析系统各功能模块的工作原理; (2)提出系统的设计方案; (3)对所进行编程、调试、修改。 2)创新要求: 在基本要求达到后,可进行创新设计,如:用虚函数,文件流,重载流插入运算符等。3)课程设计论文编写要求 (1)要按照书稿的规格打印誊写设计论文; > (2)论文包括目录、摘要、正文、总结等; (3)毕业论文装订按学校的统一要求完成。 4)答辩与评分标准: (1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分; (2)能正确回答老师所提问题,可增加10分; (3)课程设计报告书写规范整齐,可增加10分; (4)心得体会认真总结,可增加10分; (5)程序有创新性,可增加10分; [ 成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。 5)参考文献:

计算器java课程设计(完整版)

目录 一、课设任务及要求 (1) 二、需求分析 (2) 三、设计思路 (3) 四、详细设计 (4) 五、运行调试与分析讨论 (14) 六、设计体会与小结 (18) 七、参考文献 (19)

一、课设任务及要求 1)课设任务: ⑴、设计的计算器应用程序可以完成加法、减法、乘法、除法以及取余运算(可以进行浮点数和负数的运算); ⑵、有求倒数、退格和清零功能。 2)创新要求: 能进行正切、余弦,以及求平方根、指数(包括对e)、自然对数运算。 3)设计要求 ①设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。 ②课程设计可选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。 ③认真按时完成课程设计报告,课程设计报告内容包括:设计任务与要求、需求分析、设计思路、详细设计、运行调试与分析讨论和设计体会与小结六个部分。

二、需求分析 ⑴、开发的技术及功能 本课程设计是要做一个图形界面的计算器,其界面主要是由swing组件中的控件构成。程序实现了计算器的基本功能有:加、减、乘、除基本算术运算(可以进行浮点和负数运算)和sin、cos、tan等三角函数求值运算,同时能进行指数运算和自然对数运算,还有求倒数、退格和清零功能。 ⑵设计思路 设计这个计算器主要是参考Windows操作系统中自带的计算器,由于编者水平和时间的限制,不能将计算器设计到科学型及其他更复杂的类型,在设计过程中还参考了一些其他的优秀设计。但本计算器除了常用的加减乘除(可以进行浮点和负数运算)这些基本运算外,还有求余、求倒、退格、清零,甚至还能进行一些复杂科学的运算,比如余弦(cos)、正切(tan)、指数运算(pow)、自然对数运算(log)、求平方根(sqrt)以及对e的指数运算(exp),并且还能进行连续运算。总体上说来,本计算器设计简单,代码很少,程序很小,但功能却很强大,这是同类计算器所不具备的。 ⑶设计效果图 设计时先在设计界面中添加按钮等控件,后在按钮的actionPerformed 事件中添加代码完成其功能其中调用了Java类中的Math函数库以及各种字符串操作。设计的界面如下: 图1 计算器运行界面

计算器程序java

1课程实习内容概述 1.1 目的及任务 成功的Java课程设计是其课程学习到位的一个重要体现,通过课程设计使学生更加掌握JAVA语言编程的基础知识并能熟练运用。如: (1)、掌握Java开发面向对象的软件设计思想、方法及步骤; (2)、熟悉类声明与对象的使用,并进一步强化类的定义,掌握类的继承、接口以及变量、数组的应用; (3)、了解JAVA语言的图形用户界面的设计知识,并运用JAVA 编写简单计算器程序。 2 程序实现的基本思想 2.1 问题分析 编写一个简单计算器程序,它要具有0~9数及π的输入、加、减、乘、除、开根号、正三角反三角函数、e^x、ln(x)、lg(x)、tanh、角度和弧度的转换、删除、清空的功能。 2.2 总体设计 (1)、首先要设计其GUI界面,总体界面有一个文本框,共有32个按钮,总体界面用BorderLayout布局。 (2)、文本框放置在总体界的NORTH; (3)、0到9以及“.”=的按钮放置到一个面板Panel1中,并用GridLayout(4,3)来布局,再将其添加到一个面板panel_center中,最后将panel_center面板放进整体布局的CENTER; (4)、将正三角反三角函数、e^x、ln(x)、lg(x)、tanh、角度和弧度的转换等12个按钮放置到一个面板Panel3中,设计其按键字体为蓝色,并用GridLayout(4,3)来布局,再将其放进整体布局的WEST; (5)、将+、-、 *、/、 2√、π、以及删除和清空等8个按钮放置到一个面板Panel2中,设计其按键字体为蓝色,并用GridLayout(4,2)来布局,再将其放进整体布局的EAST中,界面设计完成。

JAVA课程设计计算器

《JAVA程序设计》课程设计任务书 一、课程设计的目的 1、培养学生面向对象编程的思想; 2、使学生熟悉JAVA语言的使用; 3、培养学生JAVA编程的思想和方法; 4、使学生掌握JAVA编程调试的基本技能; 5、培养学生分析、解决问题的能力。 二、课程设计内容与要求 1、内容一: 1简单计算器 [题目描述] 使用Java的GUI图形用户界面编程设计并编写一个计算器程序,用户可以通过鼠标或者键盘操作输入参加运算的数值和运算符,要求能进行加、减、乘、除等混合运算。 [基本要求] 实现加、减、乘、除的双目单类别的基础运算; [实现提示] GUI编程Component的事件响应。 参考界面 《JAVA程序设计》课程设计

一、系统中所使用的数据对象及说明 1、Calculator类 属性 属性名称类型描述 Jmb JMenuBar 菜单栏Jm1 jm2 jm3 JMenu 菜单Jmi JMenuItem 菜单项 f JFrame 实例化对象Panel1 1 JPanel 输入面板CommandsPanel JPanel 运算符面板calckeysPanel JPanel 数字面板showline JT extField 数据输出框backspace JButton 退格键CE JButton 清空 C JButton 删除 1/X JButton 取余 dao JButton 取倒数 add JButton 数字相加 jian JButton 数字相减cheng JButton 数字相乘quzheng JButton 数字相除dian JButton 点符号

deng JButton 等于号 zero JButton 一 one JButton 二 two JButton 三 three JButton 四 four JButton 五 five JButton 六 six JButton 七 seven JButton 八 eight JButton 九 num1 String 保存第一个运算数字operator String 保存运算符号 方法 方法名称功能 Calculator 计算器布局 Add 添加组件、面板addMouseListener 添加鼠标监听事件setJMenuBar 设置菜单 二、系统功能结构及相关算法描述 1、系统功能结构

JAVA保存计算过程的计算器课程设计报告

JAVA保存计算过程的计算器课程设计 报告 1 2020年4月19日

保存计算过程的java计算器 目录 1 概述................................................................................. 错误!未定义书签。 1.1 课程设计目的 ............................................... 错误!未定义书签。 1.2 课程设计内容 ............................................... 错误!未定义书签。 2 系统需求分析 .................................................................... 错误!未定义书签。 2.1 系统目标 ....................................................... 错误!未定义书签。 2.2 主体功能 ....................................................... 错误!未定义书签。 2.3 开发环境 ....................................................... 错误!未定义书签。 3 系统概要设计 .................................................................... 错误!未定义书签。 3.1 系统的功能模块划分.................................... 错误!未定义书签。 3.2 系统流程图 ................................................... 错误!未定义书签。4系统详细设计 .................................................................... 错误!未定义书签。 5 测试 .................................................................................... 错误!未定义书签。 5.1 测试方案 ....................................................... 错误!未定义书签。 5.2 测试结果 ....................................................... 错误!未定义书签。 6 小结 .................................................................................... 错误!未定义书签。参考文献 ............................................................................... 错误!未定义书签。附录.................................................................................... 错误!未定义书签。

用java编写简单计算器

用java写了一个简单计算器,能实现简单的数据计算。 一、先写界面代码: 在UI包里面新建一个Class文件,取名自己想,这里我写的是CalculatorFrame package ui; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.border.TitledBorder; public class CalculatorFrame extends JFrame { private static final long serialV ersionUID = 1L; public String opt; public String str; private JTextArea show; private ClientContext clientContext;//引用控制器对象 /*因为调用了控制器里面的方法,所以要对控制器的对象进行赋值,否则运行会出现空指针异常*/ public void setClientContext(ClientContext clientContext) { this.clientContext = clientContext; } public CalculatorFrame() { init(); } private void init() { setTitle(" Simple Calculator"); setBounds(533, 184, 300, 400); setContentPane(creatContentPane()); }

相关文档
最新文档