大学java课程设计实验报告_计算器

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

JAVA课程设计报告

组员信息:

第(二)组

计算器的实现问题

问题描述:制作一个计算器

基本要求:要求实现类似Windows操作系统里面的标准计算器。

在此基础上实现部分科学性的功能。

测试数据:分别对加、减、乘、除和sin、cos、tan函数进行测试

算法思想:使用String定义的数组a[25]对每个按钮进行按钮赋值,创建一个Panel进行字符和数字的存放,调用

addActionListener()对各个时间进行监听。调用

系统库函数对数值进行运算。

模块划分:1、主函数main()创建一个计算器。

2、void actionPerformed(ActionEvent e)对鼠标

点击的事件进行响应以及在文本框中的显示。

3、各Buuton对应的功能:

“开方”:对输入数字开方

“平方”:对输入数字平方

“getResult()”:对四则运算进行分别运算操

“backspace”:取消上一次的操作

“CE”:取消上一次运算的操作

“C”:清空作用

“sin”:对输入数据进行sin运算

“cos”:对输入数据进行cos运算

“tan”:对输入数据进行tan运算

“+/-”:对输入的数据取反

“+”,“-”,“*”,“/”:对数据进行四则

运算

源程序:

package hechongwei;

import ng.String;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import ng.Math;

class Calculator extends JFrame implements ActionListener

{

JTextField tf = new JTextField(" ");

String str1 = " ", str2 = " ", str3 = " "; // str1和str2存放两个输入的数

Panel pn1 = new Panel();// new 一个Panel存放符号与数字

String a[] = { "平方", "开方", "backspace", "CE", "C", "7", "8", "9", "/",

"sin", "4", "5", "6", "*", "cos", "1", "2", "3", "-", "tan", "0",

"+/-", ".", "+", "=" };// 用于对每个Button进行赋值

boolean frist = true;// 判断是否输入的为第一个字符

int operCount = 0;

int i; // 统计符号的数目

String Operate = null;// 存放操作数的符号

boolean error = false;

double num1 = 0.0, num2 = 0.0;// 两个输入的数作运算时转化为double存放

double result = 0.0;// 暂时保留计算结果

public Calculator() {

super("简单计算机 ");

tf.setHorizontalAlignment(JTextField.RIGHT);// 显示框中由右想左输出

tf.setEditable(false);

Button b[] = new Button[25];

for (i = 0; i < 5; i++) { // 将符号加到对应的Button 上

b[i] = new Button(String.valueOf(a[i]));

pn1.add(b[i]);

b[i].setActionCommand(a[i]);

b[i].addActionListener(this);// 调用addActionListener()方法注册事件监听器

}

for (i = 5; i <= 7; i++) {

b[i] = new Button(String.valueOf(a[i]));

pn1.add(b[i]);

b[i].setActionCommand("number");

b[i].addActionListener(this);

}

b[8] = new Button(String.valueOf(a[8]));

pn1.add(b[8]);

b[8].setActionCommand("oper");

b[8].addActionListener(this);

b[9] = new Button(String.valueOf(a[9]));

pn1.add(b[9]);

b[9].setActionCommand(a[9]);

b[9].addActionListener(this);

for (i = 10; i <= 12; i++) {

b[i] = new Button(String.valueOf(a[i]));

pn1.add(b[i]);

b[i].setActionCommand("number");

b[i].addActionListener(this);

}

b[13] = new Button(String.valueOf(a[13]));

相关文档
最新文档