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 计算器,其界面主要采用了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计算器实验报告

j a v a计算器实验报告 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】课程设计论文设计题目:java计算器学生姓名:指导教师:专业名称:所在院系:在当今这个网络的时代,java语言在网络编程方面的优势使得网络编程有了更好的选择。

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

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

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

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

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

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

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

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

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

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

java实验报告计算器

java实验报告计算器

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Java计算器实验报告-V1

Java计算器实验报告-V1

Java计算器实验报告-V1Java计算器实验报告一、实验目的本次实验旨在巩固Java语言的基础知识,提高学生对于面向对象程序设计思想的理解能力,以及能够使用Java实现一个简单的计算器程序。

二、实验原理计算器程序是一种非常基础的应用程序,其功能主要就是进行数字运算。

在实现计算器程序时,需要设计出一个能够接受用户输入的界面,并能够将输入的数据进行运算后输出结果。

在实现计算器程序时应采用面向对象的编程方式,按照设计模式分为模型、视图和控制器三个模块进行设计和编码。

三、实现步骤1. 模型层的实现在模型层中,需要定义一个Calculator类,其中包括了数字、运算符等运算元素以及进行运算的方法。

可以根据需求,实现加、减、乘、除、取余、开方等基本计算功能。

2. 视图层的实现视图层主要是实现用户界面,将用户输入的数据以及计算结果显示在界面上。

可以采用Java Swing技术进行实现,在面板中添加按钮、文本框等控件,提供操作按钮接收用户输入,再通过文本框将结果输出到界面上。

3. 控制器层的实现控制器层主要是将模型和视图两层进行连接,完成用户界面与计算功能的交互。

其中的核心内容是监听按钮等控件的事件,并且根据不同事件执行相应的计算方法,最终将计算结果显示在屏幕上。

四、实验结果通过以上部分的实现,最终能够得到一个功能完善、简便易用、稳定可靠的计算器程序。

用户可以根据自己的需求进行输入操作,通过各种不同的按钮实现各种计算操作,最终实现对数字进行自由简单的计算。

五、实验总结本次实验中,我能够通过Java语言设计模式,掌握了实现一个简单的计算器程序所需的基本技能。

在程序实现过程中,我也更加深入地理解了面向对象的思维方式,能够更好地把握Java语言的核心思想和编程范式。

此外,通过本次实验,我也意识到了计算器程序的设计必须要非常仔细,需要严谨检测程序每个功能的正确性以及程序稳定性,这对于后续工作的开展具有很大的指导意义。

java实验报告——简单计算器的编写五篇范文

java实验报告——简单计算器的编写五篇范文

java实验报告——简单计算器的编写五篇范文第一篇:java实验报告——简单计算器的编写JAVA实验报告——简单计算器的编写班级:学号:姓名:一、实验目的1.掌握java图形用户界面(GUI)的设计原理和程序结构2.能设计复核问题要求的图形用户界面程序3.掌握常用组件的事件接口4.应用awt和swing组件进行应用程序设计二、实验条件1.计算机一台2.java软件开发环境三、实验步骤1、编写代码:mport java.awt.*;import java.awt.event.*;import javax.swing.*;public class JCalculator extends JFrame implements ActionListener {private static final long serialVersionUID =-***457Lprivate class WindowCloser extends WindowAdapter {public void windowClosing(WindowEvent we){System.exit(0);}}int i;private final String[] str = { “7”, “8”, “9”, “/”, “4”, “5”, “6”, “*”, “1”,“2”, “3”, “-”, “.”, “0”, “=”, “+” };JButton[] buttons = new JButton[str.length]; JButton reset = new JButton(“CE”); JTextField display = new JTextField(“0”);public JCalculator(){super(“Calculator”);JPanel panel1 = new JPanel(new GridLayout(4, 4)); for(i = 0;i < str.length;i++){buttons[i] = new JButton(str[i]);panel1.add(buttons[i]);}JPanel panel2 = new JPanel(new BorderLayout()); panel2.add(“Center”, display);panel2.add(“East”, reset);getContentPane().setLayout(new BorderLayout()); getContentPane().add(“North”, panel2); getContentPane().add(“Center”, panel1);for(i = 0;i < str.length;i++)buttons[i].addActionListener(this);reset.addActionListener(this);display.addActionListener(this); addWindowListener(new WindowCloser()); setSize(800, 800);setVisible(true);pack();}public void actionPerformed(ActionEvent e){ Object target = e.getSource();String label = e.getActionCommand();if(target == reset)handleReset();else if(“0123456789.”.indexOf(label)> 0)handleNumber(label);elsehandleOperator(label);}boolean isFirstDigit = true;public void handleNumber(String key){if(isFirstDigit)display.setText(key);else if((key.equals(“.”))&&(display.getText().indexOf(“.”)< 0))display.setText(display.getText()+ “.”);else if(!key.equals(“.”))display.setText(display.getText()+ key);isFirstDigit = false;}public void handleReset(){display.setText(“0”);isFirstDigit = true;operator = “=”;}double number = 0.0;String operator = “=”;public void handleOperator(String key){if(operator.equals(“+”))number += Double.valueOf(display.getText());else if(operator.equals(“-”))number-= Double.valueOf(display.getText());else if(operator.equals(“*”))number *= Double.valueOf(display.getText());else if(operator.equals(“/”))number /= Double.valueOf(display.getText());else if(operator.equals(“=”))number = Double.valueOf(display.getText());display.setText(String.valueOf(number));operator = key;isFirstDigit = true;}public static void main(String[] args){new JCalculator();} }2、运行结果,见截图计算测试:123+456=579结果正确,程序无误。

java计算器设计实验报告

java计算器设计实验报告

java计算器设计实验报告Java计算器设计实验报告引言:计算器是人们日常生活中常见的工具之一,它能够进行基本的数学运算,方便人们进行快速计算。

本实验旨在通过使用Java编程语言设计一个简单的计算器,探索计算器的基本原理和实现方法。

一、实验目的本实验的主要目的是通过设计和实现一个基本的计算器,加深对Java编程语言的理解和应用。

通过这个实验,我们可以学习到如何设计一个简单的界面,实现基本的计算功能,并对用户输入进行处理和错误处理。

二、实验步骤1. 界面设计首先,我们需要设计一个简单的计算器界面。

可以使用Swing或JavaFX等工具包来实现界面设计。

界面应该包括数字按钮、运算符按钮以及一个显示屏幕等组件。

2. 事件处理接下来,我们需要为每个按钮添加事件处理程序。

当用户点击按钮时,程序应该能够根据按钮的类型执行相应的操作。

例如,当用户点击数字按钮时,程序应该能够将数字显示在屏幕上;当用户点击运算符按钮时,程序应该能够执行相应的运算。

3. 运算逻辑在实现运算逻辑时,我们需要考虑用户的输入和错误处理。

例如,当用户输入非法字符或进行非法操作时,程序应该能够给出相应的提示或错误信息。

同时,我们还需要考虑运算的优先级和顺序,确保计算结果的准确性。

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

通过输入一系列数字和运算符,检查计算器是否能够正确计算并显示结果。

如果发现错误或异常,需要对代码进行调试,找出并解决问题。

三、实验结果经过测试和调试,我们成功实现了一个简单的计算器。

用户可以通过界面上的按钮输入数字和运算符,并在屏幕上显示计算结果。

计算器能够处理用户的输入并进行相应的运算,同时还能够对错误输入进行处理和提示。

四、实验总结通过本实验,我们深入了解了Java编程语言的应用和实践。

通过设计和实现一个简单的计算器,我们掌握了界面设计、事件处理和运算逻辑的基本原理和方法。

同时,我们也学会了如何进行测试和调试,提高了代码的可靠性和稳定性。

(完整word版)Java计算器实验报告

(完整word版)Java计算器实验报告

一、目标:通过Java程序开发实训使学生掌握《面向对象程序设计(Java)》课堂讲授的内容,灵活运用到Java程序的开发与设计中。

二、要求:按时参加Java程序开发实训训练,不得迟到和早退;独立完成程序设计;按要求撰写实践报告。

三、详细内容:使用《面向对象程序设计(Java)》课程讲授内容,编写一个简单的计算器,要求实现如下功能:1.进行图形界面设计通过图形界面设计,掌握JFrame类、JPanel类、5种布局管理器、文本框、标签及按钮的使用方法。

2.实现计算器的基本功能包括加减乘除四则运算、倒数、平方根及清除结果等功能。

3.实现计算器的存储计算功能包括存储中间结果(MS)、使用中间结果(MR)、累加中间结果(M+)及清除中间结果(MC)的功能。

4.计算器的扩展功能包括乘方、对数、正弦、余弦、正切、余切、反正弦、反余弦、反正切、反余切及2进制、8进制、16进制、10进制之间的相互转换等功能.四、源代码import java。

awt.BorderLayout;import java.awt.Color;import java。

awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java。

awt.event.ActionListener;import java.awt。

event。

KeyEvent;import java.text.DecimalFormat;import javax。

swing.JButton;import javax.swing.JFrame;import javax。

swing.JLabel;import javax。

swing.JMenu;import javax.swing。

JMenuBar;import javax。

swing。

JMenuItem;import javax。

java 计算器实验报告

java 计算器实验报告

java 计算器实验报告Java计算器实验报告引言:计算器是我们日常生活中常用的工具,使用计算器可以快速进行数学运算。

在计算器中,我们可以通过输入数字和运算符来执行各种算术操作。

为了更好地理解计算器的工作原理,我们进行了Java计算器的实验。

一、实验目的本次实验的目的是设计和实现一个简单的Java计算器。

通过这个实验,我们可以加深对Java编程语言的理解,并且掌握Java图形用户界面(GUI)的基本知识。

二、实验环境本次实验使用的是Java开发工具包(JDK)和Eclipse集成开发环境(IDE)。

在实验之前,我们需要确保已经正确安装了JDK和Eclipse。

三、实验步骤1. 创建一个新的Java项目,并命名为"Calculator"。

2. 在项目中创建一个新的Java类,命名为"CalculatorGUI"。

3. 在"CalculatorGUI"类中,创建一个窗口,并设置窗口的标题和大小。

4. 在窗口中添加一个文本框,用于显示计算结果。

5. 在窗口中添加一些按钮,用于输入数字和运算符。

6. 为每个按钮添加事件监听器,以便在用户点击按钮时执行相应的操作。

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

8. 运行程序,测试计算器的功能。

四、实验结果经过实验,我们成功地实现了一个简单的Java计算器。

用户可以通过按钮输入数字和运算符,并且计算器可以正确地执行相应的运算。

计算结果会显示在文本框中。

五、实验总结通过这个实验,我们学习了如何使用Java编程语言创建图形用户界面,并且掌握了Java计算器的基本实现方法。

在实验过程中,我们遇到了一些问题,比如如何处理用户输入错误的情况,如何处理除数为零的情况等。

通过不断调试和改进,我们最终解决了这些问题,并实现了一个功能完善的计算器。

在今后的学习和工作中,我们可以进一步扩展这个计算器的功能,比如添加科学计算功能、实现复杂运算等。

java课设计算器报告

java课设计算器报告

java课设计算器报告Java是一种跨平台的面向对象的编程语言,使用Java编写的程序可以运行在各种环境(如Windows,Linux, Mac OS)之中。

而在学习Java语言的过程中,设计一个功能比较完善的计算器是学习者比较需要掌握的一项基本技能,故本文的目的在于,设计一个更加完善的Java课设计算器,并介绍如何实现。

二、计算器简介计算器是一种用于计算数字表达式的设备或程序,它可以计算算术表达式(包括加、减、乘、除),可以处理复杂的表达式,并有多种式样,如科学计算器,财务计算器,历史计算器等等。

三、计算器实现(一)编写程序首先,编写一个简单的计算器程序,让它能够实现输入输出的功能。

程序的实现使用Java的swing组件,并设置相应的按钮和文本框。

(二)处理表达式计算器可以接受复杂的表达式,所以必须使用相应的算法来处理表达式,以便得到正确的结果。

(三)计算结果接收到表达式后,依据编写的算法,计算得到所需要的结果,并在结果框中显示出来。

四、计算器应用计算器是日常生活中非常常见且实用的工具,它有助于改善计算准确性以及节约计算时间。

此外,计算器也有多种应用,比如:(一)金融领域计算器可以帮助金融行业的职员进行计算,例如计算投资收益、贷款利息、汇率等;(二)学术领域计算器可以帮助学生进行科学计算,从而更加方便快捷地完成学术研究;(三)数据分析计算器可以帮助对大量数据进行快速分析,从而节省时间和精力,提高工作效率。

五、总结本文基于Java语言设计了一款更加完善的计算器,并介绍了如何实现,它既可以进行简单的计算,也可以处理复杂的表达式,具有很强的实用性。

在实际的应用中,计算器的功能可以帮助我们更快更准确地完成计算,且多种应用,可以更好地提高工作效率。

java-计算器实验报告

java-计算器实验报告

计算器实验报告一、实验目的1.熟悉java图形用户界面的设计原理和程序结构2.能设计复核问题要求的图形用户界面程序3.熟悉java awt和swing的组合4.掌握常用组建的事件借口5.会应用awt和swing组件进行应用程序设计二、实验内容运用所学的java语言,实现计算器的基础功能,及科学计算器的一些功能。

三、实验设计按钮。

第二类按钮式功能式按钮,例如+、-、*、/、%等按钮。

JMenuBar按钮设置了工具条菜单栏,这次总共设置了两个菜单。

这两种按钮需要注册监听,需要实现public void actionPerformed(ActionEvent e)函数,通过e.getSource()可以识别注册监听的按钮,并进行相应的操作。

计算器界面如下所示:菜单栏代码如下:jmb=new JMenuBar();jm1=new JMenu("选项(V)");//助记符,Alt+vjm1.setMnemonic('v');jm2=new JMenu("关于(A)");jm2.setMnemonic('a');jmi1=new JMenuItem("标准");//注册监听jmi1.addActionListener(this);jmi1.setActionCommand("标准");jmi2=new JMenuItem("科学");jmi2.addActionListener(this);jmi2.setActionCommand("科学");jmi3=new JMenuItem("关于计算器");jmi3.addActionListener(this);jmi3.setActionCommand("about");窗体设置的代码:this.setIconImage(new ImageIcon("images/计算器图片.jpg").getImage());this.setTitle("计算器");this.setBounds(500, 180,300,300);this.setVisible(true);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setResizable(false);时间监听处理函数代码://通常在按钮被按下,或双击一个列表项或选中某个菜单时发生@Overridepublic void actionPerformed(ActionEvent e) { // TODO Auto-generated method stubif(e.getSource()==jb[18]){//等于double result=0;num2=Double.parseDouble(jtf.getText());switch(ch){case'+':result=num1+num2;break;case'-':result=num1-num2;break;case'*':result=num1*num2;break;case'/':if(num2!=0)result=num1/num2;elsejtf.setText("0");break;case'%':if(num2!=0)result=num1%num2;elsejtf.setText("0");break;case'e':result=num1*Math.pow(10, num2);break;}if(num2!=0){if(result==(int)(result))jtf.setText((int)(result)+"");elsejtf.setText(result+"");}isdecnum=false;}四、实验总结:通过对计算器窗体的编写我熟悉java图形用户界面的设计原理和程序结构熟悉java awt和swing的组合。

java 计算器 实验报告

java 计算器 实验报告

java 计算器实验报告Java计算器实验报告一、引言计算器是我们日常生活中常用的工具之一,它可以帮助我们进行简单的数学运算。

随着计算机技术的发展,计算器也逐渐从传统的机械计算器转变为电子计算器,甚至是手机上的应用程序。

本实验旨在利用Java编程语言设计一个简单的计算器,并通过实现基本的数学运算功能来加深对Java编程的理解和应用。

二、实验目的1. 掌握Java编程语言的基本语法和数据类型;2. 理解面向对象编程的概念和思想;3. 学习如何使用Java编写简单的用户界面;4. 实现基本的数学运算功能。

三、实验方法本实验采用Java编程语言,使用Eclipse集成开发环境进行开发。

主要步骤如下:1. 创建一个Java项目;2. 在项目中创建一个计算器类,实现基本的数学运算功能;3. 使用Swing库设计一个简单的用户界面,包括数字按钮、运算符按钮和显示结果的文本框;4. 将用户界面与计算器类进行关联,实现用户输入和计算结果的交互。

四、实验过程1. 创建Java项目并导入Swing库在Eclipse中创建一个新的Java项目,并导入Swing库,以便后续设计用户界面。

2. 设计用户界面使用Swing库提供的组件,设计一个简单的用户界面。

界面包括数字按钮、运算符按钮和显示结果的文本框。

通过设置按钮的事件监听器,实现用户输入和计算结果的显示。

3. 实现计算器类创建一个名为"Calculator"的Java类,该类包含实现基本数学运算的方法。

例如,实现加法运算的方法"add",减法运算的方法"subtract"等。

4. 关联用户界面和计算器类在用户界面的事件监听器中,调用计算器类的相应方法,实现用户输入和计算结果的交互。

五、实验结果经过以上步骤的设计和实现,我们成功创建了一个简单的Java计算器。

用户可以通过界面上的按钮输入数字和运算符,并在文本框中显示计算结果。

Java计算器实验报告(包括普通型和科学型)

Java计算器实验报告(包括普通型和科学型)

一、计算器实验报告一、实验名称及其要求:A)名称: java计算器的设计B)要求:1.实验目的:图形界面设计。

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

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

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

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

二、实验步骤先新建两个类,一个类是普通型计算器的Count1,另一个类是科学性计算器的Count2一)、普通型计算器1、先利用Java各种图形组件完成计算的整体界面,在界面中添加按钮以及菜单项,如图①先定义各按钮以及菜单、菜单项JPanel p2= new JPanel();JTextField jt2 = new JTextFiled();JMenuBar jmb = new JMenuBar () ;JMenu check = new JMenu ("查看(V)") ;JMenu edit = new JMenu ("编辑(E)") ;JMenu help = new JMenu ("帮助(H)") ;JMenuItem help_about = new JMenuItem("关于") ;JMenuItem help_help = new JMenuItem("操作说明") ;JMenuItem exit = new JMenuItem("退出") ;JRadioButton rb2 = new JRadioButton("标准型",true) ;JRadioButton rb1 = new JRadioButton("科学型") ;ButtonGroup bg = new ButtonGroup() ;按钮的定义形式如下:JButton b = new JButton(”i”),i表示各按钮上的字符将各按钮添加到面板p2中至于添加按钮进面板的由于比较简单,这里就不做说明了。

java简易计算器实训报告

java简易计算器实训报告

java简易计算器实训报告一、实训目的与背景本次实训的主要目的是通过编写一个简易计算器程序,学习和掌握Java编程语言的基本语法和面向对象编程的思想,了解Java语言中常用的数据类型、运算符、控制语句和输入输出方法等。

二、实训内容1.计算器的实现本次实训中,我以控制台界面为主,编写了一个简易的Java计算器程序。

程序支持基本的四则运算,包括加减乘除和取模运算。

同时,程序还支持多次运算,并能够检查输入的表达式是否合法。

2.面向对象设计在本次实训中,我采用了面向对象的设计思想,将整个程序分解成若干个类,通过类之间的交互实现计算器的功能。

(1)定义了一个名为Calculator的类,该类包含了计算器的主要功能方法,如加减乘除和取模运算等。

(2)定义了一个名为Operation的类,该类封装了运算符和运算数,便于进行表达式的解析处理。

三、实训过程1.需求分析在编写本次实训的计算器程序之前,我先对计算器的功能需求进行了分析。

(1)程序需要支持基本的四则运算,包括加减乘除和取模运算。

(2)程序需要支持多次运算。

(3)程序需要检查输入的表达式是否合法,避免出现错误。

2.编写程序在需求分析完成后,我开始着手编写程序。

首先,我创建了一个名为Calculator 的类,该类包含了计算器的主要功能方法。

在Calculator类中,我定义了以下几个方法:(1)addition方法:用于实现加法运算。

(2)subtraction方法:用于实现减法运算。

(3)multiplication方法:用于实现乘法运算。

(4)division方法:用于实现除法运算。

(5)modulo方法:用于实现取模运算。

(6)calculate方法:用于解析表达式并计算结果。

(7)main方法:用于启动程序。

接着,我定义了一个Operation类,封装了运算符和运算数,方便进行表达式的解析处理。

在Operation类中,我定义了以下两个属性:(1)operator:用于存储运算符。

JAVA计算器实验报告

JAVA计算器实验报告

JA V A计算器实验报告一、实验目的实现计算器的加减乘除基本运算了解JA V A程序设计中的类与对象,类及成员的定义掌握运算符及基本的表达式与异常处理掌握JA V A 的系统类语言包,工具包,数学包二﹑实验原理运用JA V A语言设计出具有运算功能的计算器。

计算器的设计要点有以下两个1、界面的设计:Swing布局。

2、数据输入:鼠标事件响应。

三实验要求实现计算器的加减乘除运算。

四实验结果(程序)与分析import java.awt.*;import java.awt.event.*;import javax.swing.*;public class CalculatorJFrame extends JFrame implements ActionListener{private JTextField text; //显示计算结果的文本行private char op; //当前运算符private float value; //当前计算结果值private boolean first; //表示是否为数值的第1个数字public CalculatorJFrame(){super("计算器");this.setSize(280,210);this.setLocation(300,240);this.display(); //显示图形用户界面this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setV isible(true);op='+';value=0.0f;first=true;}private void display() //图形用户界面{text = new JTextField("0.",30);text.setHorizontalAlignment(JTextField.RIGHT); //设置对齐方式,右对齐text.setEditable(false); //只能显示,不允许编辑this.getContentPane().add(text,"North");JPanel panel = new JPanel(new GridLayout(5,4,5,5));//面板采用网格布局this.getContentPane().add(panel);Stringstr[]={"sqrt","+/-","Backspace","C","7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"} ;JButton buttons[] = new JButton[str.length];for (int i=0; i<buttons.length; i++){buttons[i] = new JButton(str[i]);panel.add(buttons[i]);buttons[i].addActionListener(this); //为按钮注册单击事件监听器}}public void actionPerformed(ActionEvent e) //按钮单击的事件处理方法{String current = e.getActionCommand(); //获取按钮标签if (current=="C") //清除{text.setText("0."); //重新设置文本内容value = 0.0f;first = true;return;}if (current=="Backspace") //退格{String str=text.getText().substring(0,text.getText().length()-1);text.setText(str);if (str==""){text.setText("0.");first = true;}return;}if (current.charAt(0)>='0' && current.charAt(0)<='9' || current==".") //0~9数字按钮{if (first){text.setText("");first = false;}text.setText(text.getText()+current);}else{System.out.print(""+value+op+text.getText()+"=");switch (op){case '+': value += Float.parseFloat(text.getText());break; //转换成浮点数后运算case '-': value -= Float.parseFloat(text.getText());break;case '*': value *= Float.parseFloat(text.getText());break;case '/': value /= Float.parseFloat(text.getText());break;}System.out.println(""+value);text.setText(""+value);op = current.charAt(0); //字符串中取第1个字符first = true;}}public static void main(String arg[]){new CalculatorJFrame();}}实验结果:实验分析:计算器中有具有计算功能的类,myframewithmenu,在myframewithmenu中有窗口,按键,面板,菜单等组件,然后将组件添加到panel中,接着把panel添加到frame中,设置布局。

Java计算器实验报告(1)

Java计算器实验报告(1)

Java计算器实验报告(1)Java计算器实验报告一、实验目的本实验旨在通过设计一个基于Java语言的计算器程序,以深入了解Java语言的面向对象编程思想及Java Swing界面编程技术,并能够熟练掌握Java语言实现简单的计算器功能。

二、实验环境本实验使用的软件环境为:JDK1.8版本、Eclipse开发工具。

三、实验内容1.设计Java计算器的UI界面通过Java Swing界面编程技术设计出计算器UI界面,包含数字按钮、运算符按钮、等号按钮、清空按钮等基本功能。

2.通过Java语言实现简单的计算器功能在UI界面中通过Java语言代码实现如下计算器功能:(1)数字按键可以输入多位数,并能实现小数点的输入。

(2)运算符按键可实现加、减、乘、除四则运算。

(3)“=”按钮可完成计算,并显示计算结果。

(4)清空按钮可清除显示屏上显示的数据。

四、实验步骤1.设计Java计算器UI界面的步骤(1)使用Swing容器类JFrame创建主窗体。

(2)添加JPanel面板,用于放置数字按钮和运算符按钮。

(3)设计数字按钮和运算符按钮的布局。

(4)通过Swing组件JTextField创建显示屏,并设置其属性。

(5)为数字按钮和运算符按钮添加事件监听器,实现相应的操作。

2.实现计算器功能的步骤(1)将数字及运算符分别存储在两个栈内。

(2)按照栈的特性先入后出,将输入的数字符解析为整数或小数,并放入数字栈内。

(3)当输入运算符时,根据优先级可以决定是否需要进行计算。

(4)若当前输入的运算符优先级小于栈顶运算符优先级,则将栈顶运算符出栈,并从数字栈中取出两个数据进行计算,并将结果存入数字栈中,直到当前输入的运算符优先级大于等于栈顶运算符优先级为止。

(5)等号按钮的实现是将剩余的运算符依次取出,从数字栈中取出两个数字进行计算,计算后的结果存入数字栈中。

(6)清空按钮的实现是将数字栈、运算栈及显示屏内的内容全部清空。

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

衡阳师范学院网络编程(Java)课程设计报告题目模拟计算器_ 学生姓名文润___________ 学号14190233 _______ 专业班级计算机科学与技术2班指导教师焦铬完成时间2016年12月目录第一章课程设计简介 (1)1.1 课程设计目的 (1)1.2 课程设计内容及要求 (1)第二章概要设计 (2)2.1 课程设计思路 (2)2.2 系统功能模块图 (2)第三章详细设计 (3)3.1 界面设计 (3)3.2 按键监听器 (3)3.3 计算模块 (4)3.4 显示当前时间 (5)3.5 输出按键声音 (7)第四章运行环境 (8)第五章界面展示及测试 (9)5.1 界面展示 (9)5.2测试 (9)第六章课程设计心得 (9)第七章参考文献 (10)第八章附录:源程序 (12)第一章课程设计简介1.1 课程设计目的计算机的发展突飞猛进,人们使用计算机的目的各不相同,但是我们很容易发现,关于计算的问题生活中随处可见,于是计算器也成为了我们学习和生活中必不可少的有力工具。

为了减轻人们日益繁琐的工作压力和负担,实现高效统计和运算,使用计算器上势在必行,可以大大减轻会计以及财务部门统计账目的压力。

于是计算器应运而生。

1.2 课程设计内容及要求设计实现一个模拟计算器,界面参见图2-1-1,能进行整数的加、减、乘、除等四则运算。

图2-1-1第二章 概要设计2.1 课程设计思路此次课程设计实践,利用java 面向对象程序设计和SWT 技术针对该程序显示GUI 用户界面,能实现四则运算,并用图形界面实现。

够培养我们严谨务实的工作态度以及提高我们分析问题和解决问题的能力,也对于巩固和加深对面向对象程序设计的基本概念、基本理论和实现技术的理解起到了一定的意义。

2.2 系统功能模块图第三章详细设计3.1 界面设计本程序运用SWT插件进行图形界面设计,如图3-1-1所示,上方为数据的显示框,中间为按键区,下方为时间显示区。

图3-1-13.2 按键监听器程序中为每个按键添加了一个监听器,用来监听按键的响应,以便输入数据进行计算。

例如为“1”按键添加监听器button_6.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {}});后面的按键与此类似。

3.3 计算模块程序中,将第一个数存入变量num1中,输入运算符之后,将第二个数存入变量num2中,然后进行计算并将结果存入变量result 中,然后输出在text中。

具体运算代码如下:double result ;num2 =Double.parseDouble ( text.getText() );switch ( op) {case op_ADD:result = num1+num2;text.setText( result +"")if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;case op_SUB:result = num1 - num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;case op_MUL:result = num1 * num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;case op_DIV:result = num1 / num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;default:break;}3.4 显示当前时间使用Date类导入时间,时间精确到毫秒,使用DateFormat 可帮助进行格式化并解析任何语言环境的日期。

并使用SimpleDateFormat进行时间格式转换,把时间格式转换为“年月日时:分:秒”的格式;Date d=new Date();DateFormat df=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");为了能实现时间的动态显示,引入线程,利用死循环和线程,让线程在循环中每sleep1秒,重新获取下系统时间从而实现动态显示时间。

Thread t=new Thread(){public void run(){while(true){try{Thread.sleep(1000);}catch (InterruptedException e){e.printStackTrace();}final Date d=new Date();final DateFormat df=new SimpleDateFormat("yyyy 年MM 月dd 日HH:mm:ss");Display.getDefault().asyncExec(new Runnable(){public void run(){text_1.setText(df.format(d));}});}}};t.setDaemon(true);t.start();3.5 输出按键声音使用File类将给定路径名字符串转换为抽象路径名来创建一个新File 实例。

使用AudioInputStream类从外部音频文件、流或URL 获得音频输入流。

使用AudioSystem 类充当取样音频系统资源的入口点。

Clip 接口表示特殊种类的数据行,该数据行的音频数据可以在回放前加载,而不是实时流出。

LineUnavailableException 是指示某一行因为不可用而无法打开的异常。

此情况通常在请求的行已由另一个应用程序使用时发生。

UnsupportedAudioFileException 是指示因为文件没有包含可识别文件类型和格式的有效数据而致使操作失败的异常。

代码实现:File wavFile = new File("C:\\jisuan\\8.wav");AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start();第四章运行环境操作系统:Windows操作系统开发软件:Eclipse软件第五章界面展示及测试5.1 界面展示界面采用上中下布局,上方为数据的显示框,中间为按键区,下方为时间显示区。

如图5-1-1所示。

图5-1-15.2测试本计算器基本实现其功能,能进行加减乘除运算,正确显示时间,按键能输出声音,达到设计要求。

第六章课程设计心得此次课程设计让我更了解熟悉了Java中的图形用户界面和它的编程方式。

在完成课题的过程中也不断充实了自己,学习到了很多以前没有学习到的知识,收获很大。

最大的收获是在完成过程中培养的解决问题的能力,在做项目时必然会遇到困难,会有不会的东西,重要的不是现在会不会,而是遇到问题知道如何找到解决的途径。

还使我对所学知识能够融会贯通,又不断丰富了新知识。

Java计算器设计使得我们对所学的专业课有了更为深刻的认识,使得知识得到了巩固和提高。

第七章参考文献[1]梁勇.Java语言程序设计(基础篇).北京:机械工业出版社,2016[2]李芝兴,杨瑞龙.Java程序设计之网络编程(第二版).北京:清华大学出版社,2016[3]耿祥义.JAVA大学实用教程.北京:清华大学出版社,2015[4]王晓东.算法设计与分析. 北京:清华大学出版社,2015第八章附录:源程序package jisuanqi2;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Shell;import yout.GridLayout;import org.eclipse.swt.widgets.Button;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import javax.sound.sampled.AudioInputStream;import javax.sound.sampled.AudioSystem;import javax.sound.sampled.Clip;import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.UnsupportedAudioFileException;import org.eclipse.swt.SWT;import yout.GridData;import org.eclipse.swt.widgets.Text;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.SelectionEvent;import org.eclipse.wb.swt.SWTResourceManager;import bel;public class jisaun2 {protected Shell shell;private Text text;private int op = 0;private double num1;private double num2;private static final int op_ADD =1;private static final int op_SUB =2;private static final int op_MUL =3;private static final int op_DIV =4;private Text text_1;public static void main(String[] args) { try {jisaun2 window = new jisaun2();window.open();} catch (Exception e) {e.printStackTrace();}}public void open() {Display display = Display.getDefault();createContents();shell.open();yout();while (!shell.isDisposed()) {if (!display.readAndDispatch()) {display.sleep();}}}protected void createContents() {shell = new Shell();shell.setImage(SWTResourceManager.getImage("C:\\jisuan\\jisuanqi.jpg")); shell.setSize(251, 324);shell.setText("\u6A21\u62DF\u8BA1\u7B97\u5668");shell.setLayout(new GridLayout(4, false));//设置显示文本框text = new Text(shell, SWT.BORDER | SWT.RIGHT);GridData gd_text = new GridData(SWT.FILL, SWT.FILL, true, false, 4, 1);gd_text.heightHint = 36;gd_text.widthHint = 424;text.setLayoutData(gd_text);//设置按键“7”,并为按键添加监听器Button button = new Button(shell, SWT.NONE);button.setFont(SWTResourceManager.getFont("微软雅黑", 14, SWT.NORMAL)); button.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "7");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\7.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start();//播放音乐文件}});GridData gd_button = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_button.heightHint = 37;gd_button.widthHint = 51;button.setLayoutData(gd_button);button.setText("7");//设置按键“8”,并为按键添加监听器Button button_1 = new Button(shell, SWT.NONE);button_1.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_1.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "8");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\8.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start(); //播放音乐文件}});GridData gd_button_1 = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);gd_button_1.heightHint = 37;gd_button_1.widthHint = 51;button_1.setLayoutData(gd_button_1);button_1.setText("8");//设置按键“9”,并为按键添加监听器Button button_2 = new Button(shell, SWT.NONE);button_2.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));GridData gd_button_2 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);gd_button_2.heightHint = 37;gd_button_2.widthHint = 51;button_2.setLayoutData(gd_button_2);button_2.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "9");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\9.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start(); //播放音乐文件}});button_2.setText("9");//设置按键“+”,并为按键添加监听器Button button_10 = new Button(shell, SWT.NONE);button_10.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));GridData gd_button_10 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);gd_button_10.widthHint = 46;gd_button_10.heightHint = 40;button_10.setLayoutData(gd_button_10);button_10.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {op = op_ADD;num1 =Double.parseDouble (text.getText() );text.setText("0");}});button_10.setText("+");//设置按键“4”,并为按键添加监听器Button button_3 = new Button(shell, SWT.NONE);button_3.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_3.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "4");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\4.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start(); //播放音乐文件}});GridData gd_button_3 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);gd_button_3.heightHint = 37;gd_button_3.widthHint = 51;button_3.setLayoutData(gd_button_3);button_3.setText("4");//设置按键“5”,并为按键添加监听器Button button_4 = new Button(shell, SWT.NONE);button_4.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_4.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "5");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\5.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start(); //播放音乐文件}});GridData gd_button_4 = new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1); gd_button_4.heightHint = 33;button_4.setLayoutData(gd_button_4);button_4.setText("5");//设置按键“6”,并为按键添加监听器Button button_5 = new Button(shell, SWT.NONE);button_5.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_5.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "6");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\6.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start();//播放音乐文件}});GridData gd_button_5 = new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1);gd_button_5.heightHint = 35;button_5.setLayoutData(gd_button_5);button_5.setText("6");//设置按键“-”,并为按键添加监听器Button button_11 = new Button(shell, SWT.NONE);button_11.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_11.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {op = op_SUB ;num1 =Double.parseDouble (text.getText() );text.setText("0");}});button_11.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));button_11.setText("-");//设置按键“1”,并为按键添加监听器Button button_6 = new Button(shell, SWT.NONE);button_6.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_6.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText (text.getText() + "1");if (text.getText().startsWith("0")){text.setText ( text.getText().substring (1, text.getText().length( ) ) ) ;}else if(text.getText().startsWith("0.")){text.setText ( text.getText() +"1") ;}File wavFile = new File("C:\\jisuan\\1.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start();//播放音乐文件}});GridData gd_button_6 = new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1);gd_button_6.heightHint = 37;gd_button_6.widthHint = 51;button_6.setLayoutData(gd_button_6);button_6.setText("1");//设置按键“2”,并为按键添加监听器Button button_7 = new Button(shell, SWT.NONE);button_7.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_7.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "2");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\2.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start();//播放音乐文件}});button_7.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); button_7.setText("2");//设置按键“2”,并为按键添加监听器Button button_8 = new Button(shell, SWT.NONE);button_8.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_8.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "3");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\3.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start(); //播放音乐文件}});button_8.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));button_8.setText("3");//设置按键“x”,并为按键添加监听器Button button_12 = new Button(shell, SWT.NONE);button_12.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_12.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {op = op_MUL;num1 =Double.parseDouble (text.getText() );text.setText("0");}});button_12.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));button_12.setText("\u00D7");//设置按键“C”,并为按键添加监听器Button btnC = new Button(shell, SWT.NONE);btnC.setFont(SWTResourceManager.getFont("微软雅黑", 14, SWT.NORMAL));btnC.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText("0");}});btnC.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));btnC.setText("C");//设置按键“0”,并为按键添加监听器Button button_9 = new Button(shell, SWT.NONE);button_9.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_9.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "0");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\0.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start(); //播放音乐文件}});GridData gd_button_9 = new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1); gd_button_9.heightHint = 37;gd_button_9.widthHint = 51;button_9.setLayoutData(gd_button_9);button_9.setText("0");//设置按键“.”,并为按键添加监听器Button button_14 = new Button(shell, SWT.NONE);button_14.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_14.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText (text.getText() + ".");}});button_14.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));button_14.setText(".");//设置按键“÷”,并为按键添加监听器Button button_13 = new Button(shell, SWT.NONE);button_13.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_13.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {op = op_DIV;num1 =Double.parseDouble (text.getText() );num1 = Integer.parseInt( text.getText() );text.setText("0");}});button_13.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));button_13.setText("\u00F7");//设置按键“=”,并为按键添加监听器Button button_15 = new Button(shell, SWT.NONE);button_15.setFont(SWTResourceManager.getFont("微软雅黑", 16,SWT.NORMAL));button_15.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {double result ;num2 =Double.parseDouble ( text.getText() );//获取输入的第二个数switch ( op) {case op_ADD://进行加法运算result = num1+num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;case op_SUB://进行减法运算result = num1 - num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;case op_MUL://进行乘法运算result = num1 * num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;case op_DIV://进行除法运算result = num1 / num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;default:break;}}});GridData gd_button_15 = new GridData(SWT.FILL, SWT.FILL, false, false, 4, 1);gd_button_15.heightHint = 34;button_15.setLayoutData(gd_button_15);button_15.setText("=");text_1 = new Text(shell, SWT.BORDER | SWT.READ_ONLY);text_1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 4, 1));//获取时间并显示在文本框中Date d=new Date();DateFormat df=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");//转换格式text_1.setText(df.format(d));Thread t=new Thread(){//循环显示时间public void run(){while(true){try{Thread.sleep(1000);//暂停,每一秒输出一次}catch (InterruptedException e){e.printStackTrace();}.final Date d=new Date();final DateFormat df=new SimpleDateFormat("yyyy 年MM 月dd 日HH:mm:ss");Display.getDefault().asyncExec(new Runnable(){public void run(){text_1.setText(df.format(d));}});}}};t.setDaemon(true);t.start();}}。

相关文档
最新文档