科学计算器源代码讲课教案
大班科学优秀教案《电子计算器》

大班科学优秀教案《电子计算器》教学目标1.能够正确使用电子计算器进行简单的加、减、乘、除运算和开方运算。
2.能够了解电子计算器的结构和使用方法,提高对电子产品的认识和运用能力。
3.能够自主探究电子计算器的其他功能,如百分数、科学计数法等。
教学准备1.教师准备一台电子计算器并熟悉其各种功能。
2.为学生准备足够的练习用纸和笔。
教学过程1. 电子计算器的介绍•首先,教师举起一台电子计算器,向学生介绍其功能和用途,并指出其特点和优势。
•接着,教师让学生互相交流分享自己用过的电子计算器,并从中找出相似和不同之处。
2. 电子计算器的基本操作•教师引导学生逐步掌握电子计算器的基本按钮和操作,如加减乘除、取余、正负号等。
•以加法为例,教师演示如何输入数字和符号,然后学生跟随操作,完成加法练习。
•之后,教师引导学生自主探索减法、乘法、除法和开方等基本运算的操作方法。
3. 电子计算器的高级操作•教师进一步介绍电子计算器的高级功能,如百分数、科学计数法等。
•学生可以自主探索和练习这些功能,如输入小数,再把小数转换成百分数或科学计数法进行计算。
•最后,教师可以利用实际问题来引导学生运用电子计算器解决实际问题,如计算折扣、税收等。
教学评估1.教师可提出一些口头问题,考查学生对电子计算器使用的掌握度,如如何进行开方运算等。
2.也可让学生自主完成一些练习题,考核他们对所学知识的掌握情况,例如计算一个具体的实际问题。
总结与反思通过上述授课过程,学生可以获得丰富的用计算器解决数学问题的经验,并且进一步了解电子产品的结构和使用方法,提高自己的计算能力。
教学中还应引导学生正确使用计算器,灵活运用计算器辅助自己的学习,在提高计算能力的同时增进对计算器的理解与掌握。
vb科学计算器课程设计

vb科学计算器课程设计一、课程目标知识目标:1. 学生能理解并掌握VB编程环境中科学计算器的基本功能与操作。
2. 学生能运用VB编程语言实现加、减、乘、除等基本运算,并掌握科学计算器的扩展功能,如平方根、指数、对数等。
3. 学生能运用所学知识解决实际生活中的科学计算问题。
技能目标:1. 学生能够独立进行VB科学计算器的界面设计,编写程序代码实现计算功能。
2. 学生通过实际操作,提高编程解决问题的能力,培养逻辑思维和动手实践能力。
3. 学生学会使用调试工具,能够发现并修正程序中的错误,提高程序的稳定性。
情感态度价值观目标:1. 学生培养对计算机编程的兴趣和热情,激发创新意识,提高自主学习的积极性。
2. 学生通过合作交流,培养团队协作能力和沟通能力,学会分享与互助。
3. 学生在解决问题的过程中,认识到编程在科学计算领域的重要作用,树立正确的价值观,增强社会责任感。
分析课程性质、学生特点和教学要求:本课程为VB科学计算器编程,结合学生年级特点,注重知识性与趣味性相结合,以培养学生编程兴趣和动手实践能力为主。
在教学过程中,需关注学生的个体差异,因材施教,鼓励学生积极参与,注重培养团队协作和沟通能力。
教学要求明确,以学生为主体,教师为主导,实现课程目标的具体学习成果。
二、教学内容1. VB科学计算器的基本概念与功能- 熟悉VB编程环境- 了解科学计算器的基本功能与操作2. VB编程基础- 变量、常量的定义与使用- 数据类型与运算符- 程序流程控制(顺序、选择、循环结构)3. 科学计算器功能实现- 基本运算(加、减、乘、除)- 扩展功能(平方根、指数、对数)- 界面设计与事件处理4. 程序调试与优化- 使用调试工具- 识别并修正程序错误- 提高程序稳定性与执行效率5. 实践项目与案例分析- 完成一个科学计算器项目- 分析并改进现有科学计算器程序教学安排与进度:第一周:熟悉VB编程环境,学习基本概念与功能第二周:学习VB编程基础,了解程序流程控制第三周:实现科学计算器基本运算功能第四周:完成扩展功能,进行界面设计与事件处理第五周:学习程序调试与优化,分析案例第六周:完成实践项目,进行成果展示与评价教学内容与教材关联:本章节教学内容与教材中相关章节紧密关联,涵盖了《VB程序设计》教材中第二章至第五章的主要内容,确保了教学内容的科学性和系统性。
java课程设计科学计算器

java课程设计科学计算器。
一、课程目标知识目标:1. 理解Java编程中算术表达式的组成及运算规则;2. 掌握Java中的基本数据类型及其在算术运算中的使用;3. 学会使用Java控制结构和函数实现科学计算器的功能;4. 了解科学计算器中常见的数学函数及其在Java中的实现。
技能目标:1. 能够编写简单的Java程序,实现加、减、乘、除等基本运算;2. 能够运用循环和条件语句,实现科学计算器的逻辑功能;3. 能够利用Java类和对象,设计并实现具有图形用户界面的科学计算器;4. 能够运用调试技巧,找出并修正程序中的错误。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发其探究科学计算器原理的欲望;2. 培养学生严谨、细致的编程习惯,提高其问题解决能力和团队协作能力;3. 培养学生热爱科学、勇于创新的精神,使其认识到编程在科学计算中的重要性。
本课程针对高年级学生,结合Java编程知识,旨在帮助学生掌握科学计算器的核心功能实现。
课程注重实用性,通过设计具体的学习成果,使学生在完成课程后能够独立编写并优化科学计算器程序。
同时,关注学生的情感态度价值观培养,提高其综合素质。
二、教学内容1. Java基本语法与数据类型:回顾Java基本语法规则,重点掌握整型、浮点型等基本数据类型及其在运算中的使用。
- 教材章节:第一章 Java语言概述,第二章 基本数据类型与运算符2. 算术表达式与运算规则:讲解算术表达式的构成,介绍运算符优先级和结合性。
- 教材章节:第二章 基本数据类型与运算符3. Java控制结构:学习顺序、分支和循环结构,实现科学计算器的基本运算功能。
- 教材章节:第三章 控制结构4. 函数的定义与调用:介绍函数的概念,学会编写自定义函数,实现计算器中的特定功能。
- 教材章节:第四章 函数与数组5. 图形用户界面设计:学习Java Swing库,使用其组件设计科学计算器的界面。
- 教材章节:第七章 Java Swing图形用户界面6. 数学函数与运算:介绍科学计算器中常见的数学函数,如三角函数、指数函数等,并在Java中实现。
大班科学教案《认识电子计算器》

大班科学教案《认识电子计算器》教学目标1.了解什么是电子计算器,可以正确地使用电子计算器进行计算和操作。
2.理解电子计算器的使用方法和技巧,培养孩子们的计算能力和解决问题的方法。
3.能够在日常生活中正确地使用电子计算器来进行生活中的数字计算。
教学内容知识点1:认识电子计算器1.电子计算器是一种电子设备,使用数字电路实现了加、减、乘、除等计算的功能。
2.为了便于携带,现代电子计算器通常采用手持式、口袋式或卡片式。
知识点2:电子计算器的使用方法1.数字键:用来输入要计算的数字。
2.功能键:用来选择计算方式,如加减乘除、百分号、开根号等。
3.功能键的使用方法:–加法:输入第一个数字,按“+”键,输入第二个数字,按“=”键,数值窗口显示计算结果。
–减法:输入第一个数字,按“-”键,输入第二个数字,按“=”键,数值窗口显示计算结果。
–乘法:输入第一个数字,按“×”键,输入第二个数字,按“=”键,数值窗口显示计算结果。
–除法:输入第一个数字,按“÷”键,输入第二个数字,按“=”键,数值窗口显示计算结果。
–百分号:输入一个数字,按“%”键,数值窗口显示该数字的百分之一。
–开根号:输入一个数字,按“√”键,数值窗口显示该数字的开根值。
知识点3:电子计算器的使用技巧1.熟悉计算器的按键位置和功能,可以快速进行计算。
2.当输入错误时,可以使用“C”键或“AC”键进行清零操作。
3.在计算较长数字时,可以使用“+/-”键将数字变为负数,方便计算。
4.可以使用记忆功能存储数字,方便后续计算。
教学步骤第一步:引入老师介绍什么是电子计算器,其功能和作用,以及为什么需要学习电子计算器。
第二步:知识点讲解由老师通过幻灯片或黑板展示进行电子计算器的知识点讲解,包括什么是数字键,什么是功能键,以及这些功能键的使用方法和技巧。
第三步:答题互动老师出示一些简单的数字计算题目,让学生手动计算答案。
然后让学生使用电子计算器验证答案,老师进行指导和纠正,引导学生正确使用电子计算器。
py课程设计计算器

py课程设计计算器一、教学目标本课程的学习目标包括以下三个方面:1.知识目标:学生需要掌握Python编程语言的基本语法和结构,理解计算器的基本原理和功能。
2.技能目标:学生能够运用Python编程语言编写简单的计算器程序,进行基本的数学运算,并能对程序进行调试和优化。
3.情感态度价值观目标:学生通过学习计算器程序的设计与实现,培养逻辑思维能力、创新意识和团队协作精神。
在教学过程中,我们将根据学生的实际情况,有针对性地进行教学,确保学生达到上述学习目标。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Python编程语言的基本语法和结构:包括变量、数据类型、运算符、控制结构等。
2.计算器的基本原理和功能:包括加、减、乘、除等基本运算,以及科学计算、统计等功能。
3.Python编程语言在计算器程序设计中的应用:包括编写、调试和优化计算器程序。
教学内容将按照教材的章节进行安排,确保学生能够系统地学习和掌握相关知识。
三、教学方法为了提高教学效果,我们将采用以下几种教学方法:1.讲授法:通过讲解Python编程语言的基本语法和结构,使学生掌握相关知识。
2.案例分析法:通过分析计算器程序的案例,使学生了解计算器的基本原理和功能。
3.实验法:让学生动手编写、调试和优化计算器程序,提高学生的实际操作能力。
4.讨论法:在课堂上引导学生进行讨论,培养学生的逻辑思维能力和团队协作精神。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用国内权威的Python编程语言教材,确保学生掌握正确的知识体系。
2.参考书:提供相关的计算器程序设计书籍,丰富学生的知识储备。
3.多媒体资料:制作精美的PPT,直观地展示计算器程序设计的过程和效果。
4.实验设备:提供计算机实验室,让学生进行实际操作和实验。
通过以上教学资源的支持,我们将努力提高教学质量,丰富学生的学习体验。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和积极性。
c计算器课课程设计

c计算器课课程设计一、教学目标本节课的教学目标是让学生掌握C语言编程的基础知识,了解C语言的特点和用途,学会使用C语言编写简单的程序。
具体来说,知识目标包括:了解C语言的基本语法、数据类型、运算符、控制结构等;技能目标包括:能够使用C语言编写并运行简单的程序,能够阅读和理解简单的C语言程序;情感态度价值观目标包括:培养学生对计算机编程的兴趣和热情,提高学生解决问题的能力。
二、教学内容本节课的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构等。
具体来说,教学大纲如下:1.C语言的基本语法:介绍C语言的变量、常量、语句、注释等基本元素。
2.数据类型:介绍整型、浮点型、字符型等基本数据类型,以及枚举类型和指针类型。
3.运算符:介绍算术运算符、关系运算符、逻辑运算符等。
4.控制结构:介绍顺序结构、选择结构、循环结构等。
三、教学方法为了激发学生的学习兴趣和主动性,本节课将采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等。
具体来说:1.讲授法:教师通过讲解C语言的基本语法、数据类型、运算符、控制结构等知识,帮助学生建立知识体系。
2.讨论法:教师引导学生分组讨论编程问题,培养学生的团队协作能力和解决问题的能力。
3.案例分析法:教师通过分析典型程序案例,引导学生学会阅读和理解C语言程序。
4.实验法:教师安排编程实验,让学生动手编写C语言程序,巩固所学知识。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用《C程序设计语言》作为主要教材,介绍C语言的基本语法、数据类型、运算符、控制结构等。
2.参考书:推荐学生阅读《C Primer Plus》等参考书,加深对C语言的理解。
3.多媒体资料:制作PPT课件,展示C语言的基本语法、数据类型、运算符、控制结构等知识。
4.实验设备:准备计算机实验室,让学生进行编程实验。
五、教学评估为了全面、客观、公正地评估学生的学习成果,本节课的教学评估将采用多种方式,包括平时表现、作业、考试等。
大班科学教案《电子计算器》

大班科学教案《电子计算器》一、教学目标1.了解电子计算器是一种什么类型的工具。
2.能够正确地使用电子计算器进行基础的数学计算。
3.了解计算器的一些简单的特性和功能。
二、教学内容1.引入我们在日常生活中,都会用到各种各样的工具来完成自己的工作。
有的时候,我们需要计算一些数字,那么,你们知道我们可以用什么工具来完成这个任务吗?今天,我们要学习的就是,如何使用电子计算器来进行数字计算。
2.讲解首先,我们先了解一下,什么是电子计算器。
电子计算器是一种可以进行数字计算的电子设备。
通常,这种工具小巧轻便,而且可以很方便地携带,因此,它非常适合我们在各种生活和工作场合中使用。
在我们使用计算器的时候,我们最常用的计算方法就是加、减、乘、除。
因此,在今天的课程里,我们也就只着重讲解这些部分的内容。
加法:我们都知道,加法就是将两个数字相加,得出它们的和。
比如说,5加3,答案就是8。
在计算器上,我们可以按照如下步骤来进行计算:•首先,我们要输入第一个数字,比如说,5。
•然后,我们按下加号“+”。
•接着,我们输入第二个数字,比如说,3。
•最后,按下“=”号,电脑就可以帮我们自动进行计算了。
减法、乘法和除法的步骤也类似,只需要找到相应的符号,再按照上述步骤即可。
3.练习为了让孩子们更好地掌握所学知识,我们将进行一些简单的练习。
例1:15+7=?答案:22解析:我们先输入15,然后按下“+”号,再输入7,最后按“=”号,计算器就会自动显示22。
例2:92÷4=?答案:23解析:我们先输入92,然后按下“÷”号,再输入4,最后按“=”号,计算器就会自动显示23。
以上两个例子是比较简单的计算练习,大家可以试着练习一遍,加深自己对计算器的理解和应用。
三、教学总结今天我们学习了如何使用电子计算器来进行数字计算,并且掌握了加、减、乘、除四种基本计算方法。
除此之外,我们还介绍了电子计算器这个工具的一些特性和功能。
希望同学们可以在今天的课程中有所收获,学以致用,把所学知识应用到实际生活和工作中去。
计算器c语言课程设计

计算器c语言课程设计一、教学目标本课程旨在通过学习计算器C语言,让学生掌握C语言编程的基础知识和技能,培养学生独立思考、解决问题的能力,并激发学生对计算机科学的兴趣。
1.了解C语言的发展历程和基本特点。
2.掌握C语言的数据类型、运算符、表达式等基本语法。
3.熟悉C语言的函数、数组、指针等编程技巧。
4.理解C语言的程序结构和编译过程。
5.能够使用C语言编写简单的程序,解决实际问题。
6.具备阅读和理解C语言程序的能力。
7.掌握C语言的调试技巧,能够找出和修复程序中的错误。
情感态度价值观目标:1.培养学生对计算机科学的热爱和好奇心,激发学生继续深入学习计算机科学的动力。
2.培养学生严谨、细致的编程习惯,提高学生的逻辑思维能力。
3.培养学生团队协作精神,增强学生的沟通能力。
二、教学内容本课程的教学内容主要包括C语言的发展历程、基本语法、编程技巧和实际应用等方面。
1.C语言的发展历程和基本特点。
2.数据类型、运算符、表达式等基本语法。
3.函数、数组、指针等编程技巧。
4.程序结构和编译过程。
5.C语言在实际应用中的案例分析。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解C语言的基本概念和语法,使学生掌握C语言的基础知识。
2.案例分析法:分析实际案例,让学生了解C语言在实际应用中的具体运用。
3.实验法:让学生动手编写C语言程序,培养学生的实际编程能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。
1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。
2.参考书:提供丰富的参考书籍,拓宽学生的知识面。
3.多媒体资料:制作精美的PPT课件,生动展示C语言的特点和应用。
4.实验设备:提供计算机实验室,让学生进行实际编程练习。
五、教学评估本课程的评估方式包括平时表现、作业、考试等多个方面,以全面、客观、公正地评价学生的学习成果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
科学计算器源代码package two;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.io.*;import java.util.*;public class calculator implements ActionListener { int count = 0;private static int a;JFrame frame = new JFrame("计算器");JTextArea area = new JTextArea();JTextField fieldshow = new JTextField("0");JTextField fieldcalculator = new JTextField();JPanel leftpanel = new JPanel();JPanel rightpanel = new JPanel();JPanel buttonpanel = new JPanel();JPanel motionpanel = new JPanel();JButton button1 = new JButton("1");JButton button2 = new JButton("2");JButton button3 = new JButton("3");JButton button4 = new JButton("+");JButton button5 = new JButton("c");JButton button6 = new JButton("4");JButton button7 = new JButton("5");JButton button8 = new JButton("6");JButton button9 = new JButton("-");JButton button10 = new JButton("退格");JButton button11 = new JButton("7");JButton button12 = new JButton("8");JButton button13 = new JButton("9");JButton button14 = new JButton("*");JButton button15 = new JButton("sin");JButton button16 = new JButton("0");JButton button17 = new JButton("+/-");JButton button18 = new JButton(".");JButton button19 = new JButton("/");JButton button20 = new JButton("=");JButton button21 = new JButton("保存");JButton button22 = new JButton("复制");JButton button23 = new JButton("清除");StringBuffer S = new StringBuffer("");// t用来记录前一个运算符号是+ - * / =中的哪一个char t;// count用来实现运算符号计数,a用来识别退格、正负号操作前一个操作是否是运算符号+ - * / sin =// int count = 0, a = 0;Double x1, x2 = 0d, result;public static void main(String a[]) {calculator that = new calculator();that.go();}void go() {leftpanel.setLayout(new BorderLayout());leftpanel.add(fieldshow, BorderLayout.NORTH);leftpanel.add(buttonpanel, BorderLayout.CENTER);buttonpanel.setLayout(new GridLayout(4, 5));buttonpanel.add(button1);buttonpanel.add(button2);buttonpanel.add(button3);buttonpanel.add(button4);buttonpanel.add(button5);buttonpanel.add(button6);buttonpanel.add(button7);buttonpanel.add(button8);buttonpanel.add(button9);buttonpanel.add(button10);buttonpanel.add(button11);buttonpanel.add(button12);buttonpanel.add(button13);buttonpanel.add(button14);buttonpanel.add(button15);buttonpanel.add(button16);buttonpanel.add(button17);buttonpanel.add(button18);buttonpanel.add(button19);buttonpanel.add(button20);button1.addActionListener(this);// 事件监听button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);button6.addActionListener(this);button7.addActionListener(this);button8.addActionListener(this);button9.addActionListener(this);button10.addActionListener(this);button11.addActionListener(this);button12.addActionListener(this);button13.addActionListener(this);button14.addActionListener(this);button15.addActionListener(this);button16.addActionListener(this);button17.addActionListener(this);button18.addActionListener(this);button19.addActionListener(this);button20.addActionListener(this);button21.addActionListener(this);button22.addActionListener(this);button23.addActionListener(this);rightpanel.setLayout(new BorderLayout()); rightpanel.add(fieldcalculator, BorderLayout.NORTH); rightpanel.add(area, BorderLayout.CENTER); rightpanel.add(motionpanel, BorderLayout.SOUTH); motionpanel.add(button21);motionpanel.add(button22);motionpanel.add(button23);Container con = frame.getContentPane();frame.setLayout(new GridLayout(1, 2));con.add(leftpanel);con.add(rightpanel);frame.setBounds(200, 200, 600, 300);frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.addWindowListener(new WindowListener() {// 关闭程序时弹出警告public void windowClosing(WindowEvent e) {int result = JOptionPane.showConfirmDialog(frame, "确实要关闭程序吗?","警告",JOptionPane.OK_CANCEL_OPTION);if (result == JOptionPane.OK_CANCEL_OPTION) {System.exit(0);} else {}}public void windowOpened(WindowEvent e) {}public void windowIconified(WindowEvent e) {}public void windowDeiconified(WindowEvent e) {}public void windowDeactivated(WindowEvent e) {}public void windowClosed(WindowEvent e) {}public void windowActivated(WindowEvent e) {}});}public void actionPerformed(ActionEvent e) {// 0123456789等按钮if (e.getSource() == button1 || e.getSource() == button2|| e.getSource() == button3 || e.getSource() == button6|| e.getSource() == button7 || e.getSource() == button8|| e.getSource() == button11 || e.getSource() == button12|| e.getSource() == button13 || e.getSource() == button16) {a = 0;if (count == 0) {S.append(e.getActionCommand());fieldshow.setText(S.toString());x1 = Double.parseDouble(fieldshow.getText());} else if (count >= 1) {S.append(e.getActionCommand());fieldshow.setText(S.toString());x2 = Double.parseDouble(fieldshow.getText());}}// 小数点的容错性if (e.getSource() == button18)// 单击"."按钮输入小数{a = 0;if (fieldshow.getText().trim().indexOf(".") != -1)// 判断字符串中是否已经包含了小数点{} else// 如果没有小数点{if (fieldshow.getText().trim().equals("0"))// 如果初时显示为0{S.setLength(0);fieldshow.setText((S.append("0" +e.getActionCommand())).toString());} else if (fieldshow.getText().trim().equals(""))// 如果初时显示为空则不做任何操作{} else {fieldshow.setText(S.append(e.getActionCommand()).toString());}}}// 运算符号 + - * /if (e.getSource() == button4 || e.getSource() == button9|| e.getSource() == button14 || e.getSource() ==button19) {count++;a = 1;S.setLength(0);if (e.getSource() == button4)// +法{switch (t) {case '+':result = x1 + x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "+" + x2 + "=" + result);area.append(x1 + "+" + x2 + "=" + result + "\n");break;case '-':result = x1 - x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "+" + x2 + "=" + result);area.append(x1 + "-" + x2 + "=" + result + "\n");break;case '*':result = x1 * x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "+" + x2 + "=" + result);area.append(x1 + "*" + x2 + "=" + result + "\n");break;case '/':if (x2 == 0)fieldshow.setText("除数不能为零");else {result = x1 / x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "+" + x2 + "=" + result);area.append(x1 + "/" + x2 + "=" + result + "\n");}break;case '=':default:}if (count <= 1) {} else if (count >= 2) {x1 = result;}t = '+';}if (e.getSource() == button9)// -法{switch (t) {case '+':result = x1 + x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "+" + x2 + "=" + result);area.append(x1 + "+" + x2 + "=" + result + "\n");break;case '-':result = x1 - x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "-" + x2 + "=" + result);area.append(x1 + "-" + x2 + "=" + result + "\n");break;case '*':result = x1 * x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "*" + x2 + "=" + result);area.append(x1 + "*" + x2 + "=" + result + "\n");break;case '/':if (x2 == 0)fieldshow.setText("除数不能为零");else {result = x1 / x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "/" + x2 + "=" + result);area.append(x1 + "/" + x2 + "=" + result + "\n");}break;case '=':default:}if (count <= 1) {} else if (count >= 2) {x1 = result;}t = '-';}if (e.getSource() == button14)// *法{switch (t) {case '+':result = x1 + x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "+" + x2 + "=" + result);area.append(x1 + "+" + x2 + "=" + result + "\n");break;case '-':result = x1 - x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "-" + x2 + "=" + result);area.append(x1 + "-" + x2 + "=" + result + "\n");break;case '*':result = x1 * x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "*" + x2 + "=" + result);area.append(x1 + "*" + x2 + "=" + result + "\n");break;case '/':if (x2 == 0)fieldshow.setText("除数不能为零");else {result = x1 / x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "/" + x2 + "=" + result);area.append(x1 + "/" + x2 + "=" + result + "\n");}break;case '=':default:}if (count <= 1) {} else if (count >= 2) {x1 = result;}t = '*';}if (e.getSource() == button19)// /法{switch (t) {case '+':result = x1 + x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "+" + x2 + "=" + result);area.append(x1 + "+" + x2 + "=" + result + "\n");break;case '-':result = x1 - x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "-" + x2 + "=" + result);area.append(x1 + "-" + x2 + "=" + result + "\n");break;case '*':result = x1 * x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "*" + x2 + "=" + result);area.append(x1 + "*" + x2 + "=" + result + "\n");break;case '/':if (x2 == 0)fieldshow.setText("除数不能为零");else {result = x1 / x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "/" + x2 + "=" + result);area.append(x1 + "/" + x2 + "=" + result + "\n");}break;case '=':default:}if (count <= 1) {} else if (count >= 2) {x1 = result;}t = '/';}}// 清零操作if (e.getSource() == button5) {fieldshow.setText("0");// 把显示屏清零count = 0;a = 0;t = ' ';x1 = 0d;x2 = 0d;S.setLength(0);// 清空字符串缓冲区以准备接收新的输入运算数}// 退格操作if (e.getSource() == button10) {if (a == 1) {// 判断前一个操作是否是运算符号和等于操作System.out.println("运算符号不能退格!");} else {if (!fieldshow.getText().trim().equals("0"))// 如果显示屏显示的不是零{if (S.length() != 1) {// 可能抛出字符串越界异常fieldshow.setText(S.delete(S.length() - 1, S.length()).toString());} else {fieldshow.setText("0");S.setLength(0);}}}if (count == 0) {x1 = Double.parseDouble(fieldshow.getText().trim());} else if (count >= 1) {x2 = Double.parseDouble(fieldshow.getText().trim());}}// 求正弦值操作实现运算过程中正弦值的优先性if (e.getSource() == button15) {a = 1;if (count == 0) {if (S.length() == 0) {// 第一个按键不能为sinfieldshow.setText("先输入数字");} else {result = Math.sin(x1);fieldshow.setText(result.toString());fieldcalculator.setText("sin(" + x1 + ")" + "=" + result);area.append("sin(" + x1 + ")" + "=" + result + "\n");x1 = result;// 将正弦值求出来赋值给x1}}if (count >= 1) {result = Math.sin(x2);fieldcalculator.setText("sin(" + x2 + ")" + "=" + result);area.append("sin(" + x2 + ")" + "=" + result + "\n");x2 = result;// 将正弦值求出来赋值给x2}S.setLength(0);}// 正负值操作if (e.getSource() == button17) {if (a == 1) {// 判断前一个操作是否是运算符号和等于操作} else {if (count == 0) {x1 =Double.parseDouble(fieldshow.getText().trim());fieldshow.setText("" + (-x1));x1 = -x1;} else if (count >= 1) {x2 =Double.parseDouble(fieldshow.getText().trim());fieldshow.setText("" + (-x2));x2 = -x2;}}}// 等于号操作if (e.getSource() == button20) {switch (t) {case '+':result = x1 + x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "+" + x2 + "=" + result);area.append(x1 + "+" + x2 + "=" + result + "\n");break;case '-':result = x1 - x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "-" + x2 + "=" + result);area.append(x1 + "-" + x2 + "=" + result + "\n");break;case '*':result = x1 * x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "*" + x2 + "=" + result);area.append(x1 + "*" + x2 + "=" + result + "\n");break;case '/':if (x2 == 0)fieldshow.setText("除数不能为零");else {result = x1 / x2;fieldshow.setText(result.toString());fieldcalculator.setText(x1 + "/" + x2 + "=" + result);area.append(x1 + "/" + x2 + "=" + result + "\n");}break;case '=':default:}x1 = x2 = 0d;count = 0;a = 1;t = '=';S.setLength(0);}// 保存操作if (e.getSource() == button21) {JFileChooser jf = new JFileChooser();// 实例化文件选择器JTextField jt = new JTextField();Calendar ca = Calendar.getInstance();int year = ca.get(Calendar.YEAR);// 获取年份int month = ca.get(Calendar.MONTH);// 获取月份int day = ca.get(Calendar.DATE);// 获取日int minute = ca.get(Calendar.MINUTE);// 分int hour = ca.get(Calendar.HOUR);// 小时int second = ca.get(Calendar.SECOND);// 秒int select = jf.showSaveDialog(frame);// 显示对话框if (select == JFileChooser.APPROVE_OPTION) {// 单击保存按钮File file = jf.getSelectedFile();// 得到选择的文件try {Writer out = null;out = new FileWriter(jf.getSelectedFile());// 输出流String str = area.getText() + " 时间:" + year + "-"+ month + "-" + day + "\n" + hour + ":" + minute+ ":" + second;out.write(str);out.close();} catch (FileNotFoundException e1) {e1.printStackTrace();System.out.println(" jshdfj");} catch (IOException e2) {e2.printStackTrace();System.out.println(" jshdfjjkdfh");}jt.setText("saving:" + file.getName());} else if (select == JFileChooser.CANCEL_OPTION// 单击取消按钮或者关闭文件窗口操作|| select == JFileChooser.ERROR_OPTION) {jt.setText("Save command cancel by user");// System.out.println("关闭");}// try {// FileOutputStream out = new FileOutputStream(// jf.getSelectedFile());//输出流//// byte byt[] = new byte[10000];// byt = (area.getText() + " 时间:" + year + "-" + month + "-" +// day// + " " + hour + ":" + minute + ":" + second).getBytes();// out.write(byt);// } catch (FileNotFoundException e1) {// e1.printStackTrace();// System.out.println(" jshdfj");// } catch (IOException e2) {// e2.printStackTrace();// System.out.println(" jshdfjjkdfh");// }}// 复制操作if (e.getSource() == button22) {area.selectAll();area.copy();area.select(0, 0);JDialog dialog = new JDialog(frame, "复制", true);Font font = new Font("宋体", Font.BOLD + Font.ITALIC, 34);JTextField JtextField = new JTextField("文字已复制成功");dialog.getContentPane().add(JtextField);JtextField.setFont(font);dialog.setLocation(500, 250);dialog.setSize(300, 200);dialog.setVisible(true);}// 清除操作if (e.getSource() == button23) {area.setText(null);}}}。