• 大小: 126KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-26
  • 语言: Java
  • 标签: 计算器  

资源简介

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


评论

共有 条评论