1、java程序设计计算器论文本 科 学 年 论 文论文题目: java计算器图形界面设计 院 系: 信息科学与技术 专 业: 计算机 姓 名: 学 号: 指导教师: 撰写学年: 2009 至2010 学年 二零一零年六月目录中文摘要第一章 标准计算器概述 设计目的 功能模块设计 系统功能图 第二章 标准计算器设计与实现 Java技术概述 Java主要特点 图形界面设计方法 标准计算器界面 JAVA计算器的具体实现代码程序设计过程中的问题参考文献中文摘要本计算器是由java语言所编程设计的标准计算器,可以进行十进制下的四则运算(加、减、乘、除)、开根号、百分号、求倒数,还可以实现数值的符号转换操作
2、。 ,Backspace表示退格, CE表示将当前文本框内数据清除,C表示文本框内数据清除。此外还提供了“编辑”、“查看”、“帮助”三个菜单项,使用者可通过使用菜单项实现复制、粘贴功能。界面类似windows自带计算器界面。 关键词: java语言;计算器;标准 第一章 标准计算器概述设计目的图形界面设计,熟悉包中的组件,掌握图形界面设计方法,理解委托事件处理模型。从而检测对这门课的掌握情况,有助于及时查漏补缺。功能模块设计标准计算器以下为标准计算器的基本功能:(1)加法 两个数据进行加操作,可以为小数。(2)减法 两个数据进行减操作,可以为负数相减。(3)乘法 两个数相乘操作。(4)除法 两
3、个数相除操作。(5)开平方对任意一个数进行开方运算,可以是小数。(6)百分号对任意一个数进行百分号运算。(7)倒数对任意一个数进行倒数运算。系统功能图第二章 标准计算器设计与实现2.1标准计算器界面 界面设计代码计算器的界面由一个菜单栏 一个文本框及27个按钮组成,具体实现代码如下所示: MenuBar myB=new MenuBar(); setMenuBar(myB); Menu m1=new Menu(编辑(E); MenuItem m11= new MenuItem(复制(C) Ctrl+C); (this); (m11); MenuItem m12=new MenuItem(粘贴(P
4、) Ctrl+V); (this); (m12); (m1); Menu m2=new Menu(查看(V); (new MenuItem(标准型(T); (new MenuItem(科学型(S); (); (new MenuItem(数字分组(I); (this); (m2); Menu m3=new Menu(帮助(H); MenuItem m31=new MenuItem(帮助主题(H); (this); (m31); (); MenuItem m32=new MenuItem(关于计算器(A); (this); (m32); (m3); ,31); (North,text); ,=,+
5、,+/-; JButton btn=new JButton; for (int i = 0; i ; i+) addButton(p, buttonsi); (p, Center); (South,pa); ().add(pa1); private void addButton(Container c, String s) JButton b = new JButton(s); (b); (this);第三章 标准计算器的实现与演示 Java技术概述Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏
6、览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Jav
7、a程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从版发展到版。目前常用的Java平台基于,最近版本为。 Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。 * Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器
8、、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。* Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architec
9、ture,SOA)和 Web 应用程序。* Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能 Java主要特点1、Java语言是简单的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学
10、习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(为implements)。Java语言全面支持动态绑定,而C+ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。3、Java语言是分布式的。Java语言支持Internet应用的开发,
11、在基本的Java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。 5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载
12、的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。 6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Ja
13、va实现的,Java的运行环境是用ANSI C实现的。8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。9、Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C+。 10、Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两
14、种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。11、Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境
15、,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。 标准计算器演示(1)启动计算器(2)加法、乘法运算分别输入9和3然后分别计算其加法、乘法运算9 + 3 = 9 * 3 = (3)开平方运算 sqrt (4)百分号运算 % (5)倒数运算 1/x JAVA程序设计计算器的具体实现代码import .*;import .*;public class jisuanqi extends JFrame implements ActionListener,ItemListener JTextField text; JTextFi
16、eld textMemory; boolean clickable; double memoryd; ,31); (North,text); ,=,+,+/-; JButton btn=new JButton; for (int i = 0; i ; i+) addButton(p, buttonsi); (p, Center); (South,pa); ().add(pa1); private void addButton(Container c, String s) JButton b = new JButton(s); (b); (this); rim(); (+(-x); else i
17、f (s = sqrt) String s1 = (); if (0) = -& clickable = true) (负数不能开根号); clickable = false; else parseDouble(); else if(%)rim(); (+*x); rim(); if(x=0) (除数不能为零); else (+(1/x); | (i) = -) isNumber = false; break; if (isNumber = true) ength(); i+) if (. = ().charAt(i) isDot = true; break; ength(); i+) if
18、(. = ().charAt(i) isDot = true; break; if (memoryi != 0) quals(粘贴(P) Ctrl+V) ) (copy); ) / (); if (start) (s); else () + s); start = false; else if (start) if (-) (s); start = false; else op = s; else double x=(); calculate(x); op = s; start = true; public void calculate(double n) if (+) arg += n; e
19、lse if (-) arg -= n; else if (*) arg *= n; else if (/) arg /= n; else if (=) arg = n; ( + arg); private double arg = 0; private String op = =; private boolean start = true; / public void itemStateChanged(ItemEvent e) public static void main(String args) JFrame frame=new JFrame(); jisuanqi myMenu=new
20、 jisuanqi(); (); (true); (); 程序设计过程中的问题该设计目前还不太完整全面,在测试时有以下问题:(1)在进行aqrt 、%、 1/x这三个运算后再输入数据就在文本框中继续输入,不能重新输入。需要按下清零键才可继续输入下一数据再进行运算。(2)菜单栏中虽然设计了“查看标准型、科学型、数字分组”以及“帮助帮助主题、关于计算器”可是其功能并没有时间。(3)该计算器设计了有关内存的操作,可是并没有达到预期中的效果。参考文献1.施霞萍 张欢欢 王瑾德 马可幸 编著 Java 程序设计教程 北京:机械工业出版社,2.李芝兴 杨瑞龙 主编 Java EE Web 编程(Eclipse 平台) 北京:机械工业出版社,3.苗春义 等编著 Java 项目开发全过程实录 北京:清华大学出版社,类的命名及功能实现 包名类名类的功能实现Package主类jia主类包含了界面的定义和布局并且实现了运算的功能;树组件的类shu实现了“帮助文档”的树形分层结构
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2