好文档 - 专业文书写作范文服务资料分享网站

计算器设计的java课程设计报告

天下 分享 时间: 加入收藏 我要投稿 点赞

第2章 设计思路与算法

2.1 应用的基本工作流程

1.打开命令提示符和记事本; 2.输入源程序代码; 3.保存并运行源程序; 4.运行,检查是否有误; 5.修改错误并再次运行; 6.测试计算器的工作状况。 2.2 类设计

本次计算器的设计,主要用到的是GUI编程的相关方法。所以我们所用到的类和方法主要有:

主类:Calculation类

继承的父类为WindowAdapter类,实现了ActionListener接口,定义了一个窗体f和多个面板,按钮和文本框。

(1)方法名:display方法 作用:构建计算器的主界面

在方法display中,定义了窗体的标题,设置了窗体的大小并通过setVisible(true)方法使窗体可见,setBackground()方法设置背景颜色,setResizable(false)方法使窗体大小不可变。用setLayout()方法给容器指定按BorderLayout布局排列部件:

通过容器的add()方法将面板放置在North区域:f.add(p5,BorderLayout.NORTH),通过add方法用来向面板中加入部件。

添加GUI部件并给各个部件各自不同的标识,创建中间面板时,如面板p1,p1=new Panel(new GridLayout(1,3,5,5)),设置为GridLayout布局,再用add方法把按钮都加进去,按(1,3,5,5)方式排列

通过按钮对象的addActionListener方法为其注册事件监听处理者。 (2)方法名:actionPerformed方法

作用:设置各个GUI部件的事件处理

在 actionPerformed方法中,分别设置了不同按钮的操作事件,当不同按钮单击发生动作时自动调用执行相应的动作,从而实现计算器的多种运算功能。

通过e.getActionCommand()获得按钮事件对象的命令名,再在if语句中根据操作命令符按情况分别处理事件,进行相应运算。通过setText()方法将结果转化为数字串写入文本输入框中。

事件监听器中的事件处理方法void actionPerformed(ActionEvent e)完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件(“0”,“1”,“2”,“3”···“8”,“9”),小数点按钮事件(“.”),运算符按钮处理事件(“+”,“-”,“*”,“/”),正负号按钮事件(“+/-”),退格按钮事件(“Backspace”),清除按钮事件(“C”),等号按钮事件(“=”),存储按钮事件(“MS”,“MC”,“MR” ,“M+”)等。

(3)方法名:main方法

在该方法中,通过new运算符创建一个类Calculation的对象Cal,通过调用display()方法。

- 2 -

(4)方法名:windowClosing方法

在该方法中,在处理窗体的“关闭”事件的监听者采用继承WindowsAdapter的方式。

2.3 应用界面的设计

参考了windows计算器的布局,我们把总体界面采用BorderLayout布局,文本框所在的面板p5位于最上方(North区域),存储按钮及显示M状态文本框所在的面板p3在最左边(West区域),而Backspace,CE,C所在的面板p1和数字按钮、运算符按钮等所在面板p2放置在面板p4中,面板p4统一分布在中央(Center区域),同时面板中又按GridLayout布局分布多行多列。具体如下图所示。

2.4 事件处理原理、具体设计

首先,对计算器的整体布局构思清楚,将整个计算器分成多行多列组成的单元,使得整个计算器的布局更加合理、有序。采用网格块布局,整体分为6行,第一行为输入及显示框,第二行为退格键和清零键,下面几行分别为数字按钮与运算符按钮,以及MC,MR,MS,M+等存储按钮。

第二,设计依次添加GUI部件。

第三,为各个部件注册监听者,考虑到数字键,运算符,等于,小数点,求平方根等的不同以及程序的调理清晰,我们分别为其设置了不同的监听者。

第四,设置相应的各类算法。

第五,设置主程序和退出方法。

在编写完源程序代码后,进行运行,发现错误并更正。 最后,测试制作的计算器运行状况即计算能力。

- 3 -

动作事件的各方关系,结合代码大致如下图所示:

2.5 算法考虑

在 actionPerformed方法中,分别设置了不同按钮的操作事件,当不同按钮单击发生动作时自动调用执行相应的动作,从而实现计算器的多种运算功能。

数字按钮与其他按钮作为事件源都注册了监听者,且监听者符合ActionListener接口的要求。数据与运算符的键入通过点击按钮来触发事件,在按下“=”按钮时通过调用之前按下的相应运算符所表示的运算函数进行运算,将所的结果保存在dResult中,并显示在文本框内。求平方根、求倒数等运算时,调用了Math类的方法进行运算。当输入小数时,将小数点拼接到数字串中。按下清除按钮时,变量初始化。

- 4 -

第3章 源程序代码

//用JAVA编写简易计算器的程序(模拟Windows计算器) import java.awt.*;

import java.awt.event.*;

public class Calculation extends WindowAdapter implements ActionListener {

double dResult=0; double dNowInput=0;

double dMemory; //记载内存中存储的数据 int n=0; //记载小数位数

int nOperation=1; // 记录运算符类型 int nBitsNum=0; //记录总共输入的位数

boolean alreadyHaveDot=false; //是否已经有小数点 boolean keyAvailable=true;

boolean alreadyClickedEqueal=false; //是否已经按下过\按钮

boolean isTempNowInput=false; //是否在计算出结果后直接按运算符将结果赋给了当前输入值

Frame f;

Panel p1,p2,p3,p4,p5,p6; TextField tf1,tf2;

Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0;

Button bDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqual,bDot,bNegative; Button bBackspace,bCE,bC,bMR,bMS,bMC,bM;

public void display() {

f=new Frame(\计算器\ f.setSize(280,213); f.setLocation(200,200);

f.setBackground(Color.LIGHT_GRAY); f.setResizable(false);

f.setLayout(new BorderLayout(3,3)); //采用方位布局排列部件

p1=new Panel(new GridLayout(1,3,5,5)); //用于存放Backspace,CE,C三键 p2=new Panel(new GridLayout(4,5,5,5)); //用于存放数字区及附近共20键

p3=new Panel(new GridLayout(5,1,5,5)); //用于存放MC,MR,MS,M+键及显示M状态文本框

p4=new Panel(new FlowLayout()); //用于存放p1,p2 p5=new Panel(new FlowLayout()); p6=new Panel(new FlowLayout()); p4.add(p1);

- 5 -

p4.add(p2);

tf1=new TextField(35); //存放显示区 tf1.setText(\

tf1.setEditable(false); //判断输入框是否可编辑,非编辑状态不能输入数据 p5.add(tf1);

f.add(p5,BorderLayout.NORTH); f.add(p4,BorderLayout.CENTER); f.add(p3,BorderLayout.WEST);

b1=new Button(\ //数字按钮 b2=new Button(\ b3=new Button(\ b4=new Button(\ b5=new Button(\ b6=new Button(\ b7=new Button(\ b8=new Button(\ b9=new Button(\ b0=new Button(\

b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); b6.addActionListener(this); b7.addActionListener(this); b8.addActionListener(this); b9.addActionListener(this); b0.addActionListener(this);

bDiv=new Button(\ //运算符按钮 bSqrt=new Button(\ bMulti=new Button(\ bMinus=new Button(\ bPercent=new Button(\ bPlus=new Button(\

bReciprocal=new Button(\ bEqual=new Button(\ bDot=new Button(\

bNegative=new Button(\

bDiv.addActionListener(this);

- 6 -

计算器设计的java课程设计报告

第2章设计思路与算法2.1应用的基本工作流程1.打开命令提示符和记事本;2.输入源程序代码;3.保存并运行源程序;4.运行,检查是否有误;5.修改错误并再次运行;6.测试计算器的工作状况。2.2类设计本次计算器的设计,主要用到的是GUI编程的相关方法。所以我们所用到的类和方法主要有:<
推荐度:
点击下载文档文档为doc格式
4hvvb5ytrh1od1e2lms547le14lox100wee
领取福利

微信扫码领取福利

微信扫码分享