资源简介
java课程设计,里面包含源程序和课程设计报告
题目要求:编写一计算器,仿照windows xp计算器界面,能实现基本的运算及一些科学运算。
能实现的运算如下:
"+",加 "-",减 "*",乘 "/",除 "x^y",x的y次方 "Mod",取模 "And",相与 "Or",相或 "Xor",异或 "Lsh",左移 "Rsh",右移 "sqrt",开根号 "%",取百分数 "1/X",求倒数 正弦余弦函数:"sin", "cos", "tan", 对数函数:"ln", "log",阶乘: "n!",立方:"x^3", 平方:"x^2", 取反:"Not" };
同时还提供菜单功能,可以复制粘贴运算结果,给出“科学型”和“基本型”运算选择菜单,给出运算器帮助与程序、作者信息
2.更改程序图标为计算器图标
3.程序不足,对一些科学计算没有进行计算值的校验,希望读者自行加入。
代码片段和文件信息
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.IOException;
public class Calculator extends Jframe {
/**
*
*/
JMenuItem menu[]; // 菜单项
JTextField tf1; // 计算器显示屏
TextField tf2; // 用于显示是否有记忆值
Button bt[] = new Button[45]; // 45个按钮
StringBuffer str; // 显示屏所显示的字符串
String strTmp;// 暂存显示屏的结果,用于复制、粘贴
double x y; // x和y为两个运算数
static double m; // 记忆值
int op = 23;
/*
* op表示单击了那一个运算符.0-22分别表示: “+“ “-“ “*“ “/“ “x^y“ “Mod“ “And“ “Or“
* “Xor“ “Lsh“ “Rsh“ “sqrt“ “%“ “1/X“ “sin“ “cos“ “tan“ “ln“
* “log“ “n!“ “x^3“ “x^2“ “Not“
*/
public Calculator() {
// 更换程序图标为计算器图标image.jpg
Toolkit tk = Toolkit.getDefaultToolkit();
Image image = tk.createImage(“image.jpg“); /* image.gif计算器图标 */
setIconImage(image);
settitle(“计算器“);
setMenu();// 设置菜单项
setButtonAndTextField();// 实例化按钮与文本区域
// 创建一个空字符串缓冲区
str = new StringBuffer();
strTmp = new String();
setResizable(false);// 禁止调整框架的大小
setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
setBackground(Color.white);
setVisible(true);// 显示框架
}
public void setButtonAndTextField() {
// 定义按钮上显示的字符
String btCmd[] = { “Backspace“ “CE“ “C“ “MC“ “MR“ “MS“ “M+“ “7“
“8“ “9“ “/“ “sqrt“ “4“ “5“ “6“ “*“ “%“ “1“ “2“ “3“
“-“ “1/X“ “0“ “+/-“ “.“ “+“ “=“ “PI“ “sin“ “ln“
“x^y“ “Mod“ “And“ “E“ “cos“ “log“ “x^3“ “Or“ “Xor“
“Lsh“ “tan“ “n!“ “x^2“ “Rsh“ “Not“ };
GridLayout gl1 gl2 gl3 gl4;
JPanel p0 p1 p2 p3 p4;
gl1 = new GridLayout(1 4 10 0);// 实例化四个面板的布局
gl2 = new GridLayout(4 1 0 15);
gl3 = new GridLayout(4 5 10 10);
gl4 = new GridLayout(3 6 10 10);
tf1 = new JTextField(26);// 显示屏
tf1.setHorizontalAlignment(JTextField.RIGHT);
tf1.setEnabled(false);
tf1.setDisabledTextColor(Color.black);
tf1.setText(“0“);
tf2 = new TextField(5);// 显示记忆的索引值
tf2.setEditable(false);
tf2.disable();
// 实例化所有按钮、设置其前景色并注册按钮和键盘监听器
int i;
for (i = 0; i < 45; i++) {
bt[i] = new Button(btCmd[i]);
bt[i].addActionListener(new btEvent());
bt[i].addKeyListener(new keyEvent());
if (i <= 6 || (i % 5 == 0 && i < 27) || i == 26) {
bt[i].setForeground(Color.red);
} else if (i >= 27) {
bt[i].setForeground(Color.magenta);
} else {
bt[i].setForeground(Color.blue);
}
}
// 实例化四个面板
p0 = new JPanel();
p1 = new JPanel();
p2 = new JPanel();
p3 = new JPanel();
p4 = new JPanel();
// 添加面板p0中的组件和设置其在框架中的位置和大小
p0.add(tf1);
p0.setFocusable(false);
p0.setBounds(10 0 290 180);
// 添加面板p1中的组件和设置其在框架中的位置和大小
p1.setLayout(gl1);
p1.add(tf2);
p1.add(bt[0]);
p1.add(bt[1]);
p1.add(bt[2]);
p1.setBounds(10 45 290 30);
// 添加面板p2中的组件并设置其的框架中的位置和大小
p2.setLayout(gl2);
p2.add(bt[3]);
p2.add(bt[4]);
p2.add(bt[5]);
p2.add(bt[6]);
p2.setBounds(10 85 40 180);
// 添加面板p3中的组件并设置其在框架中的位置和大小
p
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 192512 2009-12-21 15:05 实验3\java实验1.doc
文件 4677 2009-11-30 20:34 实验3\calculator\ReadMe.txt
文件 739 2009-12-01 01:39 实验3\calculator\bin\Calculator$btEvent.class
文件 1278 2009-12-01 01:39 实验3\calculator\bin\Calculator$keyEvent.class
文件 2805 2009-12-01 01:39 实验3\calculator\bin\Calculator$mnEvent.class
文件 9484 2009-12-01 01:39 实验3\calculator\bin\Calculator.class
文件 301 2009-11-03 22:21 实验3\calculator\.classpath
文件 14191 2009-12-01 01:39 实验3\calculator\src\Calculator.java
文件 629 2009-11-03 22:21 实验3\calculator\.settings\org.eclipse.jdt.core.prefs
文件 386 2009-11-03 22:21 实验3\calculator\.project
文件 5827 2009-11-30 03:42 实验3\calculator\image.jpg
目录 0 2009-12-01 08:56 实验3\calculator\bin
目录 0 2009-12-01 08:56 实验3\calculator\src
目录 0 2009-12-01 08:56 实验3\calculator\.settings
目录 0 2009-12-01 08:56 实验3\calculator
目录 0 2009-12-21 15:12 实验3
----------- --------- ---------- ----- ----
232829 16
- 上一篇:java 学生选课系统
- 下一篇:简单的学生信息管理
相关资源
- 实用的个人存款计算器用java语言编写
- JavaFX多功能简易计算器及课程设计报
- Java课程设计-学生学籍管理系统
- java课程设计 魔板游戏 内含源代码 打
- java课程设计 图书查询系统 内含源代
- java课程设计 蜘蛛纸牌 内含源代码 打
- 图书借阅系统Java课程设计
- android小程序 标准体重计算器
- java课程设计--记事本程序
- android计算器源码
- 设计模式——工厂模式在开发中的应
- 图书管理系统java课程设计报告.
- java课程设计拼图
- 魔板游戏 拼图游戏 JAVA课程设计
- java swing实现的一个计算器
- JAVA计算器科学型+标准型
- 计算器jar包
- java课程设计--个人电话簿增删查改排
- java课程设计图片浏览器
- jsp-计算器
- java Swing实现计算器源码
- java仿windows简易计算器课程设计 源码
- java课程设计ATM机图形用户代码
- 高考信息系统-Java课程设计
- 简易计算器源代码
- 计算器JSP 四则运算
- Java课程设计总结报告计算器
- java课程设计 客房管理系统
- 中国象棋对弈系统_java课程设计
- JAVA计算器(含有优先级的判定)
评论
共有 条评论