JAVA计算器实验报告

合集下载

java简易计算器实训报告(一)

java简易计算器实训报告(一)

java简易计算器实训报告(一)Java简易计算器实训报告实训目的通过编写一个简易的Java计算器,深入了解Java基础语法,并掌握对象的属性和行为。

实训过程本次实训采用Eclipse编写Java程序,具体过程如下:1.首先创建一个名为“Calaulator”的Java项目,再在其中创建一个名为“Calaulator”的类。

2.在Calaulator类中定义一个名为“calculate”的方法,此方法接收3个参数:一个char类型的操作符,两个double类型的操作数,返回值为double类型。

3.在方法体中根据传入的操作符进行相应的加、减、乘、除运算。

4.创建一个主函数,在其中调用calculate方法并输出结果。

实训收获通过本次实训,我掌握了Java的基础语法,并深入了解了对象的属性和行为。

同时,我还学会了如何使用Eclipse编写Java程序,提高了自己的编程水平。

实训总结Java语言作为一种强大而稳定的编程语言,具有广泛的应用场景。

通过本次实训,我深刻认识到Java的重要性,并希望能够在以后的学习中不断探索Java语言的更多使用方法。

实训反思在实训过程中,我发现自己对Java的基础语法了解不够深入,导致编写代码时遇到一些困难,需要不断查阅相关资料。

同时,在调试代码时也遇到了许多问题,发现自己对IDE的使用不够熟练,需要更多的实践和学习。

实训展望通过本次实训,我已经初步掌握了Java的基础语法和编程思想,但我认为这只是一个开始。

我需要不断地练习,深入了解Java的各种特性,将其应用到实际开发中。

未来,我希望能够成为一名优秀的Java工程师,为社会做出自己的贡献。

结语本次Java简易计算器实训让我收获颇丰,不仅加深了对Java的认识,也增强了自己的编程实践能力。

希望今后能够在Java的学习和实践中不断提高自己,取得更好的成果。

java计算器实验报告

java计算器实验报告

Java计算器实验报告计算机032胡勇健030952182005年5月5日目录1.设计名称与要求2.各模块功能的介绍和实现3.系统的特色和不足4.参考书一. 实验名称及其要求:A)名称: java计算器的设计B)要求:1.实验目的:图形界面设计。

熟悉java.awt包中的组件,掌握图形界面设计方法,理解委托事件处理模型。

2.题意:请设计并实现Windows系统中“计算器”的窗口及功能。

3.实验要求:(1)设计图形界面添加菜单:窗口上添加各种组件及菜单,并处理组件及菜单的事件监听程序。

(2)运算:实现多种运算,保证运算正确性。

二.各模块功能的介绍和实现:A)GUI图形界面的组件:a)所用到的Java类库包:java.awt.*; 基本的图形界面组件来源于awt包。

java.awt.event.*; 事件的属性处理来源于awt.event包。

javax.swing.*; swing组件增加了awt包中所不具备的各种优越功能。

java.awt.datatransfer.*; 用于计算器与外部的程序进行复制粘贴。

b)所用的各部分图形组件的定义:Frame mainFrame; //主框架JTextField answerText; //显示计算结果JTextField memoryState; //显示计算器内存的使用情况MenuBar menuGroup; //菜单栏Menu editMenu,viewMenu,helpMenu; //编辑,查看,帮助菜单MenuItem copyItem,pasteItem; //复制,粘贴MenuItem standardModel; //标准型CheckboxMenuItem numGroup; //数字分组MenuItem aboutCal; //关于计算器Button buttonBackSpace,buttonCE,buttonC; //退格,清除,清空按钮Button buttonMC,buttonMR,buttonMS,buttonMADD; //内存操作按钮Button buttonNum[]; //数字按钮Button buttonAdd,buttonSub,buttonMul,buttonDiv; //+,-,*,/Button buttonDot,buttonSign,buttonEqual; //. +/- =Button buttonSqrt,buttonMod,buttonReciprocal; //sqrt % 1/xc)组件的初始化以及对界面的排版对主框架的初始化操作void initMainFrame()函数是对主框架进行初始化,设置其框架大小270*250,初始位置270*250,背景颜色Color.lightGray,是否显示true,能否改变窗口大小false,以及增加了addWindowListener委托事件,当关闭窗口时调用System.exit(0) 系统指令,结束程序。

java 计算器实验报告

java 计算器实验报告

java 计算器实验报告Java计算器实验报告一、引言计算器是我们日常生活和学习中经常使用的工具之一。

它可以帮助我们进行简单的数学运算,提高计算效率。

在本实验中,我们将使用Java编程语言设计并实现一个简单的计算器。

二、实验目的1. 学习Java编程语言的基本语法和数据类型;2. 掌握Java图形用户界面(GUI)的设计和实现;3. 熟悉计算器的基本功能和运算规则。

三、实验步骤1. 界面设计在Java中,我们可以使用Swing库来设计和实现GUI界面。

首先,我们创建一个窗口对象,并设置窗口的标题、大小和布局。

然后,我们在窗口中添加文本框和按钮,用于显示计算结果和接收用户输入。

2. 功能实现计算器的基本功能包括加法、减法、乘法和除法运算。

我们可以通过监听按钮点击事件,获取用户输入的数字和操作符,然后进行相应的运算,并将结果显示在文本框中。

3. 异常处理在进行计算过程中,可能会出现一些异常情况,例如除数为零或输入非法字符等。

为了保证程序的健壮性,我们需要对这些异常进行处理,并给出相应的提示信息。

4. 测试和优化完成代码编写后,我们需要进行测试和优化。

通过输入一系列测试用例,检查计算器是否能够正确处理各种情况,并对可能存在的bug进行修复和优化。

四、实验结果经过多次测试和优化,我们的计算器程序已经能够正确地进行加减乘除运算,并能够处理各种异常情况。

用户友好的界面设计和清晰的提示信息,使得计算器易于使用和操作。

五、实验总结通过本次实验,我学习了Java编程语言的基本语法和数据类型,并且掌握了Java图形用户界面(GUI)的设计和实现方法。

通过实践,我深入理解了计算器的基本功能和运算规则,并学会了如何处理异常情况。

此外,我还培养了代码编写、测试和优化的能力,提高了自己的编程水平。

六、实验感想本次实验让我更加熟悉了Java编程语言,并且提高了我的代码设计和编程能力。

通过自己动手实现一个计算器,我对计算机科学的理论知识有了更深入的理解,并且增强了我的实践能力。

java计算器设计实验报告

java计算器设计实验报告

java计算器设计实验报告《Java计算器设计实验报告》摘要:本实验报告基于Java语言,设计了一个简单的计算器。

通过使用面向对象的编程方法,实现了基本的加、减、乘、除运算,并且实现了用户界面的交互操作。

本实验报告详细介绍了计算器的设计思路、实现过程和代码结构,并对实验结果进行了分析和总结。

1. 引言计算器是人们日常生活中常用的工具之一,它能够帮助人们进行简单的数学运算。

随着计算器的普及和发展,计算器的功能也越来越丰富,例如科学计算器、金融计算器等。

本实验旨在通过使用Java语言,设计一个简单的计算器,以加深对面向对象编程的理解和应用。

2. 设计思路在设计计算器时,首先需要确定计算器的功能需求,包括加法、减法、乘法、除法等基本运算。

其次,需要考虑用户界面的设计,使用户能够方便地输入数字和选择运算符。

最后,需要考虑计算器的实现方式,包括数据结构的选择、算法的设计等。

3. 实现过程在本实验中,我们使用Java语言和Swing库来实现计算器的设计。

首先,我们创建一个Calculator类来处理计算器的逻辑操作,包括加法、减法、乘法、除法等运算。

然后,我们创建一个CalculatorUI类来处理用户界面的设计,包括数字按钮、运算符按钮和显示屏的设计。

最后,我们将Calculator类和CalculatorUI类进行整合,实现一个完整的计算器。

4. 代码结构以下是计算器的主要代码结构:Calculator类:- add(double a, double b):加法运算- subtract(double a, double b):减法运算- multiply(double a, double b):乘法运算- divide(double a, double b):除法运算CalculatorUI类:- createNumberButton(int number):创建数字按钮- createOperatorButton(String operator):创建运算符按钮- createDisplayScreen():创建显示屏Main类:- main(String[] args):主函数,启动计算器界面5. 实验结果分析通过实验,我们成功地实现了一个简单的计算器,用户能够输入数字并进行加、减、乘、除等运算。

java简易计算器实训报告

java简易计算器实训报告

java简易计算器实训报告Java简易计算器实训报告随着人们对数学和计算机的需求不断增长,计算器也成为了必备的工具之一。

而在计算机领域,Java语言因其跨平台和易于学习的特点而备受青睐。

因此,我选择了利用Java语言来编写一款简易计算器的实训项目。

一、需求分析在编写计算器之前,我们需要对其功能进行需求分析。

一般来说,计算器的功能包括加、减、乘、除等基本数学运算符,以及括号、百分号、小数点等其他计算功能。

在此基础上,我们可以考虑增加科学计算、历史记录、单位转换等功能。

二、设计思路及实现在需求分析的基础上,我们设计了一款基于Java语言的简易计算器。

其基本功能包括加、减、乘、除、括号、百分号、小数点等。

在实现过程中,我们采用了以下设计思路:1. 利用Java Swing构建GUI界面,让用户可以通过鼠标点击输入数字和运算符。

2. 通过Java的逻辑运算符实现基本的数学运算,包括加、减、乘、除等。

3. 利用Java的正则表达式判断用户输入的数字是否合法,并进行相应的处理。

4. 通过栈的数据结构实现括号运算,使得程序能够正确处理带有括号的数学表达式。

5. 实现百分号功能,使得用户可以快速进行百分比运算。

6. 通过Java的异常处理机制,处理用户输入不合法的情况,避免程序崩溃。

三、代码实现在代码实现过程中,我们主要采用了Java Swing和Java核心库中的一些类和方法。

以下是代码的核心部分:1. GUI界面代码在Java Swing中,我们可以通过JFrame、JPanel、JButton等组件构建出一个GUI界面,使得用户可以通过鼠标点击输入数字和运算符。

以下是界面代码的核心部分:JPanel panel = new JPanel();panel.setLayout(new GridLayout(4,4));//数字按钮panel.add(new JButton("7"));panel.add(new JButton("8"));panel.add(new JButton("9"));panel.add(new JButton("/"));panel.add(new JButton("4"));panel.add(new JButton("5"));panel.add(new JButton("6"));panel.add(new JButton("*"));panel.add(new JButton("1"));panel.add(new JButton("2"));panel.add(new JButton("3"));panel.add(new JButton("-"));panel.add(new JButton("0"));panel.add(new JButton("."));panel.add(new JButton("+"));panel.add(new JButton("("));panel.add(new JButton(")"));panel.add(new JButton("%"));2. 数学运算代码在Java中,我们可以通过逻辑运算符实现基本的数学运算。

java计算器实验报告

java计算器实验报告

课程设计论文设计题目:java计算器学生姓名:指导教师:专业名称:所在院系:摘要在当今这个网络的时代,java语言在网络编程方面的优势使得网络编程有了更好的选择。

Java语言最大的特点是具有跨平台性,使其不受平台不同的影响,得到了广泛的应用。

该程序是一个图形界面的java 计算器,其界面主要采用了swing包,程序实现了:(1)实现简单加、减、乘、除的运算。

(2)实现除了加、减、乘、除按钮外其他按钮功能。

(3)给软件添加一个编辑、查看、帮助的主菜单。

(4)在数据输入方面,提高程序代码的健壮性,增强其对非法输入数据的识别能力。

(5)科学型计算器与标准计算器之间的菜单切换。

Java的早期版本以来,抽象窗口工具包为用户界面组件提供了平台独立的API。

在AWT中,每个组件都由一个原生的等同组件生成和控制,这个原生组件是由当前的图形窗口系统决定的。

与此相对,Swing 组件经常被描述为轻量级的,因为它们不需要操作系统本身所带窗口工具包的原生资源来生成。

目录第1章概要设计 (1)1.1查找资料 (1)1.2选题 (1)1.3标准型计算器界面设计 (1)1.4本章小节 (3)第2章程序整体设计说明 (4)2.1程序中所用到的变量 (4)2.2程序部分源代码及注释 (4)2.3本章小节 (15)第3章程序运行效果 (16)3.1程序运行主界面 (16)3.2程序中各按钮运行界面 (16)3.3本章小节 (20)第4章设计中遇到的重点及难点 (21)4.1设计中遇到的重点 (21)4.2设计中的遇到的难点 (21)4.3本章小节 (23)第5章本次设计中存在不足与改良方案 (24)5.1本次设计中存在的不足 (24)5.2本次设计的改良方案 (24)5.3本章小节 (24)结论 (25)参考文献 (26)致谢 (27)指导教师评语 (28)答辩委员会评语 (29)第1章概要设计1.1查找资料21世纪,随着社会经济的迅速发展和科学技术的全面进步,人类社会已进入信息和网络时代。

实验报告Java计算器

实验报告Java计算器

一、实验目的1.熟悉java图形用户界面的设计原理和程序结构。

2.能设计复合问题要求的图形用户界面程序。

3.熟悉java.awt和swing的组合。

4.掌握常用组件的事件接口。

5.会应用awt和swing组件进行应用程序设计。

二、实验内容设计一个计算器,计算器的界面大体是按照windowsXP上自带的微软的计算器的布局设计的。

主要功能包括:实现基本的加减乘除运算,并且能实现连续的运算,能显示运算数和运算结果。

还包括MC、MR 、MS、M+ 、Backspe、+/-、 C、CE、 % 、Sqrt 、1/x 键,能实现相应的功能。

三、整体设计与描述1.点击相应的按钮,输入运算数,显示框内能显示当前输入的数字2、在任何时候按下“+/-”键,计算器文本框上的数字置反号。

3、MC :Memory Clear 清除存储器中的数值4、MR :Memory Read 存储器读出5、MS :Memory Save 存入存储器6、M+ :Memory Plus 将数值与存储器中的数值相加7、M- :Memory Subtract 存储的数字减去显示栏中的数字8、C键为清除键(CLEAR的缩写)9、CE键为纠错键(CLEAR ERROR的缩写)10、Backspase 键为退格键,消去最低位。

11、sqrt是开方键,点击后显示开方后的结果。

12、按下a(运算)b后,不按等于,再按别的运算符,a和b的运算结果会作为第一个操作数再次参与运算。

13、按下“选项”键,点“退出”键退出14、点击帮助的“关于我们”,会弹出一个对话框,显示信息。

整体显示界面如下:四、算法分析与程序设计1、控件的布局界面布局分为三个面板panel1,panel2,panel3.第一个面板上存放数字输入框。

第二个存放存储器标志、回车键、CE、C键四个按钮。

第三个面板存放各个数字和剩下的运算符,布局为4*6的GridLabel。

为了使界面更美观,需要设置适当的行间距和列间距,以及适当的背景色。

java实验报告计算器

java实验报告计算器

java实验报告计算器Java实验报告:计算器引言:计算器是我们日常生活中常用的工具之一,它能够帮助我们进行各种数学运算,提高计算的效率。

本实验旨在使用Java编程语言设计和实现一个简单的计算器,通过实践来加深对Java语言和面向对象编程的理解。

一、需求分析在设计计算器之前,我们首先需要明确计算器的功能需求。

一个基本的计算器应该包括加、减、乘、除四种基本运算,同时还应该具备清零、取反、百分比等附加功能。

在本实验中,我们将实现这些基本功能,并尝试添加一些额外的功能,如开根号、求平方等。

二、设计思路1. 用户界面设计我们可以使用Java的图形用户界面(GUI)库来设计计算器的界面。

可以使用按钮来表示数字和运算符,使用文本框来显示计算结果。

2. 数据结构设计为了实现计算器的功能,我们需要设计一个合适的数据结构来存储用户输入的数字和运算符。

可以使用栈(Stack)数据结构来实现这个功能。

当用户按下数字按钮时,将数字入栈;当用户按下运算符按钮时,将运算符入栈。

当用户按下等号按钮时,从栈中取出数字和运算符进行计算,并将结果显示在文本框中。

3. 运算逻辑设计计算器的运算逻辑可以使用逆波兰表达式来实现。

逆波兰表达式是一种不需要括号的数学表达式表示方法,通过后缀表达式的形式来表示运算符的优先级。

在计算器中,我们可以使用栈来实现逆波兰表达式的计算。

三、实验步骤1. 创建一个Java项目,并导入GUI库。

2. 设计计算器的用户界面,包括按钮和文本框。

3. 实现按钮的点击事件,根据用户输入的数字和运算符来更新栈的状态。

4. 实现等号按钮的点击事件,从栈中取出数字和运算符进行计算,并将结果显示在文本框中。

5. 实现清零、取反、百分比等附加功能的按钮点击事件。

6. 运行程序,测试计算器的各项功能是否正常。

四、实验结果与分析经过测试,我们的计算器能够正常地进行加、减、乘、除等基本运算,并且附加功能也能正常使用。

通过这个实验,我们不仅学习了Java语言的基本语法和面向对象编程的思想,还加深了对数据结构和逆波兰表达式的理解。

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

GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)实验名称JAVA计算器程序设计课程名称JAV A程序设计课程号学院(系)专业班级学生姓名学号实验地点完成日期实验JAVA计算器程序设计1)实验总结:刚做之前,勉强还能做些小程序,但在进行了计算器程序设计的时候,才发现很多语句还不能联系运用,大部分还是通过百度和书籍才勉勉强强完成,看来实践才是硬道理2)实验目的通过计算器程序设计,能够更加深入的了解JAVA,熟悉图形用户的设计原理和程序结构等4)实验内容和步骤实验内容应用JAV A软件设计一个简易的计算器,实现基本的四则运算及括号设计流程1.分析该计算器需要完成的功能。

用户能够完成添加括号和负号的四则混合运算,并且计算器能够自动识别运算符的优先级,根据用户输入的运算表达式,自动计算出相应的结果。

同时还完成了计算器中C按钮清屏功能和Backspace退格键。

2.考虑异常处理。

(1)当输入的表达式中出现除零的操作,显示框将显示“Infinity(无穷大)”。

(2)当输入的表达式错误时,将弹出提示框显示“表达式错误请重新输入”(3)当计算器的显示文本框里为没有输入内容时直接点击等号按钮,将弹出提示框显示“对不起,您没有任何输入,请重新输入:”。

(4)当第一次输入乘号键,除号键,右括号,小数点,求余键,等号键,ce键,Backspace 键时提示错误。

4.考虑数据的处理目标计算表达式通过点击计算器界面上的按钮进行输入,当按下等号之后,计算器通过调用JAV A中script这个包中的相关类和方法来实现数据的处理。

5.编码实现计算器的功能。

(1)新建相关的文件。

(2)引入JAV A中相关的包。

(3)新建类Jsq,并继承了类Frame,而且实现了接口ActionListener(4)定义相关的变量,创建相关组件,并对组件的属性进行设置。

(5)对所创建的组件进行布局,完成界面的实现。

(6)为各个组件添加事件监听器。

(7)重写事件接口ActionListener的方法public void actionPerformed(ActionEvent e)。

4、程序import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.awt.List;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;import javax.script.ScriptException;public class Calculator extends Frame{public static void main(String[]args){final Frame window=new Frame("Calculator");window.setSize(380,337);window.setResizable(false);int width=Toolkit.getDefaultToolkit().getScreenSize().width;int height=Toolkit.getDefaultToolkit().getScreenSize().height;window.setLocation(width/2-200,height/2-150);window.setLayout(null);/final JTextField text=new JTextField();text.setHorizontalAlignment(JTextField.RIGHT);//text.setEditable(false);text.setEditable(true);text.setBounds(10,40,360,50);window.add(text);text.setForeground(Color.blue);text.setBackground(Color.LIGHT_GRAY);text.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0){ScriptEngineManager sem1=new ScriptEngineManager();ScriptEngine se1=sem1.getEngineByName("js");try{int leng10=text.getText().length();if(leng10==0){JOptionPane.showMessageDialog(null,"对不起,您没有任何输入,请重新输入:");text.requestFocusInWindow();else{String reslut=se1.eval(text.getText()).toString();text.setText(text.getText()+"="+reslut);text.requestFocus();}}catch(ScriptException evt){JOptionPane.showMessageDialog(null,"表达式错误,请重新输入!");text.setText("");//给文本框赋值为空达到清屏作用text.requestFocus();}}});/***********设置0键***************/final JButton b0=new JButton("0");//新建按钮0b0.setBounds(10,283,72,50);//设置0键的位置window.add(b0);//把文本框添加到窗口中b0.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){text.setText(text.getText()+"0");text.requestFocus();}});/********设置1键****************/final JButton b1=new JButton("1");window.add(b1);b1.setBounds(10,233,72,50);b1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){text.setText(text.getText()+"1");text.requestFocus();}});/***********设置2键*****************/final new"2"b2.setBounds(82,233,72,50);window.add(b2);b2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {text.setText(text.getText()+"2");text.requestFocus();}});/********设置3键****************/final JButton b3=new JButton("3");b3.setBounds(154,233,72,50);window.add(b3);b3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {text.setText(text.getText()+"3");text.requestFocus();}});/*********设置4键***************/final JButton b4=new JButton("4");b4.setBounds(10,183,72,50);window.add(b4);b4.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {text.setText(text.getText()+"4");text.requestFocus();}});/*********设置5键*************/final JButton b5=new JButton("5");b5.setBounds(82,183,72,50);window.add(b5);b5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {text.setText(text.getText()+"5");text.requestFocus();});/********设置6键***************/final JButton b6=new JButton("6");b6.setBounds(154,183,72,50);window.add(b6);b6.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {text.setText(text.getText()+"6");text.requestFocus();}});/*********设置7键**************/final JButton b7=new JButton("7");b7.setBounds(10,135,72,50);window.add(b7);b7.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {text.setText(text.getText()+"7");text.requestFocus();}});/**********设置8键***************/final JButton b8=new JButton("8");b8.setBounds(82,135,72,50);window.add(b8);b8.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {text.setText(text.getText()+"8");text.requestFocus();}});/***********设置9键**************/final JButton b9=new JButton("9");b9.setBounds(154,135,72,50);window.add(b9);b9.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e)text.setText(text.getText()+"9");text.requestFocus();}});/***********设置加法键**************/final JButton Add=new JButton("+");Add.setBounds(154,283,72,50);window.add(Add);Add.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){text.setText(text.getText()+"+");text.requestFocus();}});/***********设置减法键**************/final JButton Sub=new JButton("-");Sub.setBounds(298,183,80,50);//设置减法键的位置window.add(Sub);//把减号键添加到窗口中Sub.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){text.setText(text.getText()+"-");text.requestFocus();}});/***********设置乘法键**************/final JButton Multi=new JButton("*");Multi.setBounds(226,183,72,50);window.add(Multi);Multi.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){int leng3=text.getText().length();if(leng3>=1){text.setText(text.getText()+"*");text.requestFocus();}else{JOptionPane.showMessageDialog(null,"您输入的第一个字符为乘号,不符合要求请重新输入:");text.requestFocus();}}});/***********设置除法键**************/final JButton Div=new JButton("/");Div.setBounds(226,135,72,50);window.add(Div);Div.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){int leng4=text.getText().length();if(leng4>=1){text.setText(text.getText()+"/");text.requestFocus();}else{JOptionPane.showMessageDialog(null,"您输入的第一个字符为除号,不符合要求请重新输入:");text.requestFocus();}}});/***********设置等号键**************/final JButton equal=new JButton("=");equal.setBounds(226,283,153,50);window.add(equal);equal.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){ScriptEngineManager sem=new ScriptEngineManager();ScriptEngine se=sem.getEngineByName("js");try{int leng5=text.getText().length();if(leng5==0){JOptionPane.showMessageDialog(null,"对不起,您没有任何输入,请重新输入:");text.requestFocus();}else{se.eval(text.getText()).toString();text.setText(text.getText()+"="+reslut);text.requestFocus();}}catch(ScriptException evt){JOptionPane.showMessageDialog(null,"表达式错误,请重新输入!");text.setText("");text.requestFocus();}}});/***********设置小数点键**************/final JButton point=new JButton(".");point.setBounds(82,283,72,50);window.add(point);point.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){int leng6=text.getText().length();if(leng6>0){text.setText(text.getText()+".");text.requestFocus();}else{JOptionPane.showMessageDialog(null,"您输入的第一个字符为小数点,不符合要求请重新输入:");text.requestFocus();}}});/***********设置左括号键**************/final JButton left=new JButton("(");left.setBounds(226,233,72,50);//设置左括号键的位置window.add(left);//把左括号键添加到窗口中left.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){text.setText(text.getText()+"(");text.requestFocus();}/***********设置右括号键**************/final JButton right=new JButton(")");right.setBounds(298,233,80,50);//设置右括号键的位置window.add(right);//把右括号键添加到窗口中right.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){int leng7=text.getText().length();if(leng7>0){text.setText(text.getText()+")");text.requestFocus();}else{JOptionPane.showMessageDialog(null,"您输入的第一个字符为右括号,不符合要求请重新输入:");text.requestFocus();}}});/***********设置清屏键**************/final JButton ce=new JButton("CE");ce.setBounds(190,90,186,45);window.add(ce);ce.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){int leng8=text.getText().length();if(leng8>0){text.setText("");text.requestFocus();}else{JOptionPane.showMessageDialog(null,"当前以经为空,无需清屏!");text.requestFocus();}}});/***********设置退格键**************/final new"Backspace"back.setBounds(10,90,180,45);window.add(back);back.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){String message;int leng=text.getText().length();message=text.getText();if(leng==0){JOptionPane.showMessageDialog(null,"对不起,您没有任何输入无法退格:");text.requestFocus();}else{text.setText(message.substring(0,leng-1));text.requestFocus();}}});final JButton Air=new JButton("%");Air.setBounds(298,135,80,50);window.add(Air);Air.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){int leng9=text.getText().length();{if(leng9>0){text.setText(text.getText()+"%");text.requestFocus();}else{JOptionPane.showMessageDialog(null,"您输入的第一个字符为求余数,不符合要求请重新输入:");text.requestFocus();}}});/*********关闭按钮***********/window.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e) {System.exit(0);}});window.show();}}程序截图1.初始运行界面2.运行测试成绩指导教师日期注:请用A4纸书写,不够另附纸。

相关文档
最新文档