JAVA程序设计课程作业 - 标准计算器的实现报告

2019-04-08 18:24

JAVA程序设计课程作业

——关于计算器的设计说明

电信06XX班 王XX 012006012XXX 郭XX 012006012XXX 陈 X 012006012XXX 一 实验目的

1、通过编写计算器程序,以达到熟悉和掌握JAVA的目的。 2、在编程的过程中,提升自己的能力。

3、能够有效的增强团队合作的能力。

二 实验内容

1、编写一个计算器,应该有如图类似的图形用户界面。

2、能够实现普通的加减乘除运算。

3、可以适当的增加一些科学计算器的功能。

三.程序设计及源码实现:

程序设计结构:

copyItem

editItem

pasteItem

tItem

mainMenu viewMenu sItem

(NORTH)

numberGroup

topHelp

helpMenu

aboutHelp

Panel textAnswer (CENTER)

textMemory labelMenSpace Panel2 buttonN

(NORTH) buttonBk

button Ce

button C

Panel1 (SOUTH)

button MC 7 8 9 Div Sqrt

button MR 4 5 6 * %

Panel3 button MS 1 2 3 - Dao

(CENTER)

button M+ 0 +/- Dot + +

Calculator面板 数字按钮触发事件 加减乘除按钮触发事件 = 输出结果事件 Sqr,%,+/-,CE,C,Backspace 按钮触发MR,MC,MS,M+按钮触发的事件 源码如下:

import java.awt.*; import java.lang.*; import javax.swing.*;

import javax.swing.event.*; import java.awt.event.*;

import java.text.DecimalFormat;

public class Calculator implements ActionListener //导入动作监听接口 {

//设计面板中的组件 JFrame frame;

JTextField textAnswer;

JPanel panel, panel1, panel2, panel3; JMenuBar mainMenu; JTextField textMemory;

JLabel labelMemSpace; //labelMemSpace单纯做摆设,控制面板的形状 JButton buttonBk, buttonCe, buttonC; JButton button[];

JButton buttonMC, buttonMR, buttonMS, buttonMAdd;

JButton buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul, buttonDiv, buttonMod ,buttonN;

JButton buttonSqrt, buttonDao, buttonEqual; JMenu editMenu, viewMenu, helpMenu;

JMenuItem copyItem, pasteItem, tItem, sItem, numberGroup, topHelp, aboutCal; DecimalFormat df; //设置数据输出精度 boolean clickable; //控制当前能否按键 double memoryd; //使用内存中存储的数字 int memoryi;

double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd) short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算

String copy; //做复制用 JTextArea help; //帮助 JScrollPane scrollHelp; //构造函数

public Calculator() {

clickable = true; answerd = 0;

frame = new JFrame(\计算器\

df = new DecimalFormat(\设置数据输出精度(对于double型值) textAnswer = new JTextField(15); textAnswer.setText(\

textAnswer.setHorizontalAlignment(JTextField.RIGHT); //文本右对齐 textAnswer.setEditable(false); //设置为不可编辑

textAnswer.setBackground(new Color(255, 255,255));//白底色

panel = new JPanel();

frame.setContentPane(panel); // panel1 = new JPanel(); panel2 = new JPanel();

panel.setLayout(new BorderLayout()); //设计整个面板

mainMenu = new JMenuBar();

editMenu = new JMenu(\编辑(E)\ viewMenu = new JMenu(\查看(V)\ helpMenu = new JMenu(\帮助(H)\

copyItem = new JMenuItem(\复制(C) Ctrl+C\

copyItem.addActionListener(this); //增加动作事件监听 pasteItem = new JMenuItem(\粘贴(V) Ctrl+V\

pasteItem.addActionListener(this); //增加动作事件监听 editMenu.add(copyItem); editMenu.add(pasteItem);

tItem = new JMenuItem(\●标准型(T)\

tItem.addActionListener(this); //增加动作事件监听

sItem = new JMenuItem(\科学型(S)\

sItem.addActionListener(this); //增加动作事件监听 numberGroup = new JMenuItem(\数字分组(I)\

numberGroup.addActionListener(this); //增加动作事件监听 viewMenu.add(tItem); viewMenu.add(sItem);

viewMenu.add(numberGroup);

topHelp = new JMenuItem(\帮助主题(H)\

topHelp.addActionListener(this); //增加动作事件监听 help = new JTextArea(5, 20);

scrollHelp = new JScrollPane(help); help.setEditable(false);

help.append(\执行简单计算\\n\

help.append(\键入计算的第一个数字。\\n\ help.append(\单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\\n\ help.append(\键入计算的下一个数字。\\n\

help.append(\输入所有剩余的运算符和数字。\\n\ help.append(\单击“=”。\\n\

aboutCal = new JMenuItem(\关于计算器(A)\ aboutCal.addActionListener(this); helpMenu.add(topHelp); helpMenu.add(aboutCal);

mainMenu.add(editMenu); mainMenu.add(viewMenu); mainMenu.add(helpMenu);

panel.add(mainMenu, BorderLayout.NORTH); //利用布局管理器来布局面板,菜单在最上面

panel.add(textAnswer, BorderLayout.CENTER); panel.add(panel1, BorderLayout.SOUTH); panel1.setLayout(new BorderLayout()); textMemory = new JTextField(3); textMemory.setEditable(false);

textMemory.setBackground(new Color(217, 217, 217)); labelMemSpace = new JLabel(\ \ buttonBk = new JButton(\

buttonBk.setForeground(new Color(255, 0, 0)); buttonCe = new JButton(\

buttonCe.setForeground(new Color(255, 0, 0)); buttonC = new JButton(\

buttonC.setForeground(new Color(255, 0, 0)); buttonN = new JButton(\

buttonN.setForeground(new Color(255, 0, 0));

buttonBk.addActionListener(this); //增加动作事件监听


JAVA程序设计课程作业 - 标准计算器的实现报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:石材幕墙施工方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: