没有合适的资源?快使用搜索试试~ 我知道了~
大学java课程设计实验报告(及源代码)--计算器
4星 · 超过85%的资源 需积分: 15 30 下载量 93 浏览量
2011-06-16
21:06:40
上传
评论 4
收藏 235KB DOC 举报
温馨提示
试读
21页
此课程设计报告对于刚开始学习的同学,以及想学Java开发的同志是很有用 的!一起加油!
资源详情
资源评论
资源推荐
JAVA 课程设计报告
组员信息:
第(二)组
姓名 学号 职责
宋舟
20084042019
算法设计
何春伟
20084042025
界面实现
周沛
20084042021
代码编写
计算器的实现问题
问题描述:制作一个计算器
基本要求:要求实现类似 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 java.lang.String;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.lang.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
剩余20页未读,继续阅读
wszhaoweibo521
- 粉丝: 6
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1