Java课程设计报告计算器简单.doc
文本预览下载声明
Java课程设计报告
专业 计算机科学与技术 学生姓名 XXX 班级 XXXXXXX 学号 XXXXXXX 指导教师 XXXXXXX 完成日期 2010年1月9日
信 息 工 程 学 院
一、设计内容
设计GUI界面的计算器程序,用户可以通过鼠标依次输入参加计算的数值,进行加、减、乘、除等混合运算。
二、设计要求
要求所设计的GUI界面计算器是一个使用很方便的程序,能进行加、减、乘、除等混合运算。
三、设计内容
1.界面及功能描述
(1)界面布局。创建一个面板,先将所有按钮:所有数字键和运算符键等放在面板上,采用网格布局,具体设计为4行,5列的网格,二十个格子。再添加一个1行3列的网格布局来放置三个功能键:清零,检测,退格键。然后,对以上两个面板,采用BorderLayout布局,将按键面板放在计算机的中部,功能键面板放北部,作为一个新的面板。最后,将文本框放在北部,新面板放中央,采用边界布局管理器,做为界面的整体布局,这样界面布局就搞定了。
(2)输入数字、小数点、符号时按输入的顺序显示在单行文本框中,并按右对齐方式显示,且不允许修改文本行中的内容。
(3)输入运算符时,说明前一个数已经输入完毕,保存第一个数firstDigit,同时保存运算符,显示firstDigit。
(4)输入第二个数,按等号,保存第二数,根据输入的运算符进行相应的运算,文本行中显示运算结果resultNum。
(5)按退格键Backspace,将返回到前一次输入状态。
(6)按Check键,输入的数字第一个数字为零。
(7)按复位键键Again,归零。
(8)第三、四步可以重复操作。
2. 主要事件处理:
(1)数字输入及小数点事件,输入后直接显示在广本行。
(2)双目运算符输入事件:输入后,保存第一个数,同时保存运算符
(3)单目运算符和等于符=输入事件:保存第二个数,取出原有数据和运算符算出结果,并显示在文本行组件。
3.简要的设计流程:
4.运行界面演示
(1)通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限的资料。通过对此课题的开发,使我对用开发有了一个比较清楚的认识,体会到理论和实践的重要性。由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如用户界面设计不够美观,异常出错处理比较差等多方面问题,这些都有待进一步完善和提高。对于文中出现的不足和系统中出现的问题敬请老师指导。
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import javax.swing.*;
public class Calc extends JFrame {
// 声明三个面板的布局
GridLayout gl1, gl2, gl3;
Panel p0, p1, p2, p3;
JTextField inputText;
TextField displayText;
JButton backspaceBtn, ceBtn, cBtn, mcBtn, mrBtn, msBtn, mPlusBtn;
JButton btns[] = new JButton[20];
String[] btNames = { 7, 8, 9, /, sqrt, 4, 5, 6, *, %,
1, 2, 3, -, 1/x, 0, +/-, ., +, = };
StringBuffer str;// 显示屏所显示的字符串
double x, y;// x和y都是运算数
int z;// Z表示单击了那一个运算符.0表示+,1表示-,2表示*,3表示/
static double m;// 记忆的数字
public Calc() {
super(计算器);
MenuBar mb = new MenuBar();
setMenuBar(mb);
Menu m1 = new Menu(编辑(E));
MenuItem copy = new MenuItem(复制(C) Ctrl+C);
显示全部