JavaSwing计算器设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JavaSwing计算器设计

《java程序设计》课程设计报告

课题名称:GUI计算器设计

……

提交报告时间:2008 年12 月20 日1. 课程设计题目

基于GUI的计算器设计

2. 课程设计目的

1. 巩固和加深课堂所学知识;

2. 将课本上的理论知识和实际应用有机的结合起来,培养同学们分析和解决实际问题的能力;

3. 通过对java语言程序代码的阅读、修改、设计,理解和掌握复杂的java语言应用程序的编程,提高实践编程能力。

3. 程序运行环境及开发工具

本程序在Windows XP的PC机上利用Jbuilder9.0的软件开发实现,在Windows XP平台上Jbuilder9.0及Eclipse环境中运行通过。

4. 程序功能使用说明

运行该程序后,参与运算的操作数可有鼠标点击相应按钮输入,也可有键盘输入,但操作符应有鼠标点击相应的按钮,当:

1.在简易计算中可以按照常规输入计算,基本无bug,

“%”未设置其用途;

2.简易计算中,可以进行+、-、*、/、乘方(^)、开方(√)及阶乘(!)运算;

3.科学计算中有许多功能为实现,主要能进行加、减、乘、除、乘方、开方、幂、开n次方、倒数、阶乘、ln、e的x 次幂、三角函数等高级运算;

4.例如:

(1). 1 + 9 = 10

(2). 25 + -8 = 17

(3). 98 - 35 = 63

(4). 96 * 2 = 192

(5). 96 / 4 = 24

(6). 4 ^ 3 = 64

(7). 100 √ = 10

(8). -9 √ = 不能执行此操作!!

(9). 20 ! = 2432902008176640000

(10). -20 ! = 不能执行此操作!!

(11). 0 ! = 1

(12). 8 ln =

2.0794415416798357

(13). 2 Exp = 7.38905609893065

(14). 8 x^y 3 = 512

(15). 20 x^2 = 400

(16). 100 n!= 933262154439441526816992388562667004907159682643816 214685929638952175999932299156089414639761565182862 536979208272237582511852109168640000000000000000000 00000

(17). 30 sin = 0.49999999999999994(0.5) (求sin30度)

其他(cos,tan)依次类推;

(18).1/x计算有bug;

(19). 3 x√ 8 = 2 (求8开3

次方);

(20). 95 Mod 10 = 5 (95对10

求余)

5. 关键算法与技术:

1.大数阶乘;

2.界面切换;

3.GirdLayout布局管理器的使用;

4.事件响应;

5.匿名内部类的使用;

6.

6. 设计思路:

本程序采用模块化设计,调试方便,程序的可读性好。在老师的指导下,由主程序启动简易计算器,根据使用者的需要可以在简易计算器中进行运算操作,若不能满足用户功能,可以选择使用科学计算器,具体操作与目前市面上的计算器差不多,用户还可以选择使用说明进行查看具体操作。由于时间及个人水平的问题,科学计算中还有很多功能未实现。

具体思路:用户输入(点击)某一数字或操作符,程序将自行判断是操作数还是操作符,

1. 若为一操作数的首次输入,则将显示区的

“0”替换,若该操作数不为首次输入则将显示区的数字串接上此次输入的数字;

2. 若为操作符,将判断是否为带符号操作数,若是则保存符号,反之为纯操作符:若为二元操作符就将显示区的字符串转化为双精度数;若为等号就进行计算结果并显示结果;若为一目操作符就进行相应的一目运算并显示结果;

3. 进行相应的初始化操作,为下一次输入做准备;

4. 根据自己的理解画了下面的简单的流程图。

7.编码实现:

//package 计算器;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

import java.math.*;

import java.util.*;

/**

* <p>Title: 用户应用界面计算器</p>

* <p>Description: 包含简易计算与功能更加强大的科学计算</p>

* <p>Copyright: Copyright (c) 2008</p>

* <p>Company: 四……学</p>

* @author chwencong@

* @version 1.0

*/

public class Calculat {

static JTextField show;//设置输入区,显示区

static double opNum = 0;//存放操作数

static String opChar = "=";//存放操作符

static boolean flag = true;//设置标志

public static void main(String[] args) {

new EasyFrame();//产生首界面——简易计算器

}

}

class EasyFrame//构建简易计算器框架界面

{

static JFrame frame;

相关文档
最新文档