JAVA课程设计完整版
- 格式:doc
- 大小:139.00 KB
- 文档页数:21
Java课程设计报告题目:文本编辑器年级专业:07级信息与计算科学学号:学生姓名:周勇李朝黄峰陈爽指导老师:彭胜完成时间:2010年 7月 1 日目录摘要 (3)前言 (3)1 需求分析 (4)1.1需求分析 (4)1.2功能设计 (4)2 概要设计 (4)2.1程序设计思路 (4)2.2程序运行界面 (5)2.3程序相关说明 (5)3 程序详细设计与分析 (6)3.1初始化组件 (7)3.2构建菜单栏及其下拉菜单及其事件监听 (7)3.3异常处理 (8)4.测试分析 (9)5.课程设计总结 (11)6.参考文献 (11)7. 附录 (12)文本编辑器程序的设计摘要该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有,打开文件,保存文件,另存为,退出,撤消,剪切,复制,粘贴,删除,自动换行,关于等功能,该程序主要用到了Java swing包和事件监听等。
关键字:文本编辑器,Java语言,JCreator前言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。
后来它的开发者们发现它还可以被用于更大范围的Internet上。
1995年,Java语言的名字从Oak编程了Java。
1997年J2SE1.1发布。
1998年J2SE1.2发布,标志Java2的诞生。
十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。
Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。
它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。
Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。
Java的平台标准有Java ME,Java SE和Java EE。
Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。
目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。
jav课程设计内容一、教学目标本节课的教学目标是让学生掌握Java编程语言的基本语法和编程思想,学会使用Java编写简单的控制台应用程序。
具体分为以下三个部分:1.知识目标:(1)了解Java语言的基本语法和数据类型。
(2)掌握Java程序的结构和编写方法。
(3)理解面向对象编程的基本概念,如类、对象、封装、继承和多态。
2.技能目标:(1)能够使用Java编写简单的控制台应用程序。
(2)学会使用Java编写面向对象的程序,具备初步的编程能力。
3.情感态度价值观目标:培养学生对编程语言的兴趣,激发学生主动学习和探索编程的欲望,培养学生的团队协作精神和自主学习能力。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法和数据类型。
2.Java程序的结构和编写方法。
3.面向对象编程的基本概念,如类、对象、封装、继承和多态。
4.编写简单的控制台应用程序,巩固所学知识。
三、教学方法为了更好地实现教学目标,本节课采用以下几种教学方法:1.讲授法:讲解Java语言的基本语法、数据类型和程序结构。
2.案例分析法:通过分析实例,使学生掌握面向对象编程的基本概念。
3.实验法:让学生动手编写控制台应用程序,巩固所学知识。
4.讨论法:鼓励学生积极参与课堂讨论,培养学生的团队协作精神。
四、教学资源为了保证教学效果,本节课准备以下教学资源:1.教材:《Java编程入门》2.参考书:《Java核心技术》3.多媒体资料:PPT课件、教学视频4.实验设备:计算机、网络环境5.在线编程平台:例如LeetCode、牛客网,供学生课后练习和提高编程能力。
五、教学评估为了全面、客观地评估学生的学习成果,本节课采用以下几种评估方式:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,了解学生的学习态度和基本素养。
2.作业:布置适量作业,要求学生在规定时间内完成,通过作业质量评估学生的掌握程度。
3.考试:安排一次课堂小测,测试学生对Java基本语法和编程思想的掌握情况。
•课程介绍与预备知识•基础语法与程序结构•面向对象编程基础目•常用类库与工具使用•图形用户界面开发录•网络编程与数据库连接•多线程编程技术•设计模式与架构思想目•课程总结与展望录Java语言概述及发展历程Java语言的起源与特点01Java的发展历程02Java的应用领域03编程环境搭建与工具选择JDK的安装与配置开发工具的选择Maven的使用编写HelloWorld 程序带领学员编写并运行第一个Java 程序,了解Java 程序的基本结构。
程序解析详细讲解HelloWorld 程序的每一行代码,让学员了解Java 程序的执行流程。
常见问题与解决方法针对初学者在编写和运行Java 程序时可能遇到的问题,提供解决方案。
第一个Java 程序示例030201介绍Java 中的基本数据类型(如int 、float 、char 等)和引用数据类型(如类、接口等)。
Java 中的数据类型变量的声明与赋值运算符的使用类型转换讲解如何在Java 中声明变量、为变量赋值以及变量的作用域。
介绍Java 中的算术运算符、关系运算符、逻辑运算符等,以及运算符的优先级和结合性。
详细讲解Java 中的自动类型转换和强制类型转换,以及转换过程中可能遇到的问题。
数据类型、变量和运算符根据特定条件执行不同代码块。
if 条件语句根据表达式的值选择执行多个代码块中的一个。
switch 语句简洁的if-else 结构,用于条件判断并返回结果。
三目运算符分支结构循环结构for循环while循环do-while循环一维数组存储表格形式数据,可通过多个下标访问元素。
多维数组数组排序数组查找01020403在数组中查找指定元素,并返回其下标或位置信息。
存储相同类型数据的线性结构,可通过下标访问元素。
使用排序算法对数组元素进行排序,如冒泡排序、选择排序等。
数组及其应用方法定义指定方法名、参数列表和返回类型,编写方法体实现特定功能。
方法调用通过方法名和参数列表调用已定义的方法,执行其功能并获取返回值。
java课程设计范例一、教学目标本节课的教学目标是让学习者掌握Java编程语言的基本语法、流程控制语句以及简单的数据结构。
通过本节课的学习,学生将能够:1.理解Java语言的基本语法,包括数据类型、变量、运算符等。
2.掌握Java的流程控制语句,包括条件语句、循环语句等。
3.熟悉Java的基本数据结构,包括数组、链表、栈和队列等。
4.能够运用Java语言编写简单的程序,实现基本的算法。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法:介绍Java语言的数据类型、变量、运算符等基本语法规则。
2.流程控制语句:讲解条件语句、循环语句等流程控制语句的用法和意义。
3.基本数据结构:介绍Java中的数组、链表、栈和队列等基本数据结构及其应用。
4.编程实践:通过编写简单的Java程序,使学生能够将所学知识应用于实际问题的解决中。
三、教学方法为了达到本节课的教学目标,我们将采用以下几种教学方法:1.讲授法:通过讲解Java语言的基本语法、流程控制语句和基本数据结构,使学生能够理解和掌握相关知识。
2.案例分析法:通过分析具体的Java程序案例,使学生能够了解和掌握Java语言的应用方法。
3.实验法:让学生通过编写和运行Java程序,亲自体验和掌握Java语言的语法和编程技巧。
四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《Java编程语言》等与本节课内容相关的教材和参考书。
2.多媒体资料:通过PPT等多媒体形式,生动、形象地展示Java语言的基本语法、流程控制语句和基本数据结构。
3.实验设备:为学生提供必要的计算机和网络环境,让他们能够编写和运行Java程序。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下几种评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估他们的学习态度和理解能力。
2.作业:布置与课程内容相关的作业,评估学生对知识点的掌握程度和编程能力。
java 课程设计 .一、教学目标本节课的教学目标是使学生掌握Java编程语言的基本语法和程序设计的基本思想,培养学生编写简单Java程序的能力。
具体来说,知识目标包括:1.理解Java语言的基本语法和数据类型。
2.掌握基本的控制结构和函数。
3.了解面向对象编程的基本概念。
技能目标包括:1.能够使用Java语言编写简单的程序。
2.能够利用面向对象编程思想解决实际问题。
情感态度价值观目标包括:1.培养学生对编程语言的兴趣和好奇心。
2.培养学生解决问题的能力和团队合作精神。
二、教学内容本节课的教学内容主要包括Java语言的基本语法、数据类型、控制结构和函数。
具体安排如下:1.介绍Java语言的基本语法和编程环境。
2.讲解Java的数据类型,包括整数类型、浮点类型、布尔类型等。
3.介绍控制结构,包括条件语句和循环语句。
4.讲解Java的函数,包括函数的定义和调用。
5.引入面向对象编程的基本概念,如类、对象、封装等。
三、教学方法为了激发学生的学习兴趣和主动性,本节课将采用多种教学方法。
具体包括:1.讲授法:教师讲解Java语言的基本语法和编程环境。
2.案例分析法:通过分析具体的Java程序案例,使学生理解数据类型、控制结构和函数的使用。
3.实验法:学生动手编写Java程序,巩固所学知识。
4.讨论法:学生分组讨论面向对象编程的概念,分享学习心得。
四、教学资源为了支持教学内容和教学方法的实施,本节课将准备以下教学资源:1.教材:选用《Java编程思想》作为主要教材,为学生提供系统的学习材料。
2.参考书:提供《Java核心技术》等参考书籍,供学生深入学习。
3.多媒体资料:制作PPT课件,生动展示Java编程的相关概念。
4.实验设备:为学生提供计算机和网络环境,进行Java编程实践。
五、教学评估为了全面、客观地评估学生的学习成果,本节课将采用多种评估方式。
具体包括:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,了解学生的学习态度和理解程度。
java课程设计.docx一、教学目标本章节的教学目标分为三个部分:知识目标、技能目标和情感态度价值观目标。
知识目标:通过本章节的学习,学生需要掌握Java编程的基本语法、数据类型、控制结构、函数等基础知识。
技能目标:学生能够运用Java编程解决简单的实际问题,具备基本的编程能力。
情感态度价值观目标:培养学生对编程的兴趣和热情,提高学生解决问题的能力。
二、教学内容本章节的教学内容主要包括Java编程的基本语法、数据类型、控制结构、函数等基础知识。
具体包括以下内容:1.Java编程的基本语法和规则2.数据类型:整数类型、浮点类型、字符类型、布尔类型等3.控制结构:顺序结构、选择结构、循环结构等4.函数:定义和调用函数,传递参数,返回值等5.常用内置函数:数学函数、字符串函数等三、教学方法本章节的教学方法采用讲授法、案例分析法和实验法相结合的方式进行。
1.讲授法:通过讲解和示范,让学生掌握Java编程的基本语法和规则,以及数据类型、控制结构、函数等基础知识。
2.案例分析法:通过分析实际案例,让学生学会如何运用Java编程解决实际问题。
3.实验法:通过上机实验,让学生动手实践,巩固所学知识,提高编程能力。
四、教学资源本章节的教学资源包括教材、参考书、多媒体资料和实验设备等。
1.教材:选用权威、实用的Java编程教材,如《Java核心技术》等。
2.参考书:提供相关的Java编程参考书籍,如《Java编程思想》等。
3.多媒体资料:制作精美的PPT课件,提供Java编程相关的视频教程等。
4.实验设备:确保学生有足够的计算机设备进行上机实验。
五、教学评估本章节的教学评估主要包括平时表现、作业和考试三个部分,以全面、客观、公正地评估学生的学习成果。
1.平时表现:通过课堂参与、提问、讨论等方式,评估学生在课堂上的学习态度和表现。
2.作业:布置适量的作业,评估学生的知识掌握和运用能力。
3.考试:进行定期的考试,评估学生对章节知识的全面理解和掌握程度。
java课程设计doc一、教学目标本课程旨在通过学习Java编程语言,使学生掌握Java的基本语法、数据结构、控制流程、面向对象编程等核心知识,培养学生具备编程思维和解决问题的能力。
1.理解Java编程语言的基本语法和规则。
2.掌握Java中的基本数据类型和数据结构。
3.熟悉Java的控制流程,包括条件语句、循环语句等。
4.理解面向对象编程的基本概念和原则,掌握类、对象、继承、多态等核心概念。
5.能够使用Java编写简单的程序,解决实际问题。
6.能够阅读和理解Java代码,进行代码的审查和修改。
7.能够使用Java开发工具,如集成开发环境(IDE)进行程序的编写、调试和运行。
情感态度价值观目标:1.培养学生的编程兴趣,激发学生对计算机科学的热爱。
2.培养学生的自主学习能力,提高学生的问题解决能力。
3.培养学生团队合作精神,提高学生的沟通协作能力。
二、教学内容本课程的教学内容主要包括Java编程语言的基本语法、数据结构、控制流程和面向对象编程等。
1.Java基本语法:介绍Java编程语言的基本规则和语法,包括变量、数据类型、运算符、表达式等。
2.数据结构:讲解Java中的基本数据结构,包括字符串、数组、列表、集合等,并介绍如何使用这些数据结构进行编程。
3.控制流程:学习Java中的条件语句、循环语句等控制流程,掌握如何根据条件进行分支和循环操作。
4.面向对象编程:理解面向对象编程的基本概念,学习如何定义类、创建对象、实现接口、继承和多态等。
为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。
1.讲授法:教师通过讲解和示范,向学生传授Java编程语言的基本概念和语法。
2.讨论法:鼓励学生参与课堂讨论,通过小组合作、问题解答等形式,培养学生的思考和沟通能力。
3.案例分析法:通过分析实际案例,让学生了解Java编程在实际应用中的方法和技巧。
4.实验法:安排实验课程,让学生亲自动手编写代码,培养学生的实践能力和问题解决能力。
大二java课程设计显示全部一、教学目标本课程的目标是让学生掌握Java编程语言的基本语法、面向对象编程思想以及常用API的使用方法。
通过本课程的学习,使学生能够运用Java语言编写简单的应用程序,培养学生的编程能力和逻辑思维能力。
同时,提高学生解决实际问题的能力,培养学生的创新精神和团队合作意识。
1.掌握Java编程语言的基本语法和编程规范。
2.理解面向对象编程思想,熟练使用类、对象、继承、多态等基本概念。
3.熟悉Java常用API的使用方法,包括字符串处理、集合框架、多线程等。
4.能够使用Java语言编写简单的桌面应用程序、网络应用程序和移动应用程序。
5.具备良好的编码习惯,能够编写可读性强、可维护性好的代码。
6.掌握常用的调试技巧和算法分析方法,能够独立解决编程过程中遇到的问题。
情感态度价值观目标:1.培养学生对编程语言的兴趣,激发学生的创新精神。
2.培养学生的团队合作意识,提高学生与他人合作解决问题的能力。
3.使学生认识到编程技术在社会发展和个人发展中的重要性,培养学生的社会责任感。
二、教学内容本课程的教学内容主要包括Java编程语言的基本语法、面向对象编程思想、常用API的使用方法以及编程实践。
具体包括以下几个方面:1.Java基本语法:数据类型、运算符、控制结构、数组、字符串等。
2.面向对象编程:类与对象、继承与多态、封装等。
3.常用API:集合框架、多线程、输入输出流、网络编程等。
4.编程实践:编写简单的桌面应用程序、网络应用程序和移动应用程序。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。
具体包括以下几种方法:1.讲授法:教师通过讲解Java编程语言的基本语法、面向对象编程思想以及常用API的使用方法,使学生掌握相关知识。
2.案例分析法:通过分析实际案例,使学生更好地理解Java编程语言的应用。
3.实验法:安排课堂实验,让学生亲自动手编写代码,巩固所学知识。
java课程设计范文一、教学目标本节课的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握Java语言的基本语法、数据类型、控制结构等;技能目标要求学生能够运用Java语言编写简单的程序,解决实际问题;情感态度价值观目标要求学生培养编程兴趣,树立信心,克服困难,积极合作。
通过分析课程性质、学生特点和教学要求,明确课程目标,将目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容根据课程目标,选择和教学内容,确保内容的科学性和系统性。
本节课的教学内容主要包括Java语言的基本语法、数据类型、控制结构。
具体安排如下:1.介绍Java语言的背景和发展历程,使学生了解Java语言的应用领域和优势。
2.讲解Java数据类型,包括整型、浮点型、布尔型等,让学生掌握不同数据类型的特点和用法。
3.介绍Java的控制结构,包括条件语句、循环语句等,使学生能够熟练运用控制结构编写程序。
4.通过案例演示和编程实践,让学生学会运用Java语言解决实际问题。
三、教学方法选择合适的教学方法,如讲授法、讨论法、案例分析法、实验法等,通过教学方法应多样化,以激发学生的学习兴趣和主动性。
具体教学方法如下:1.讲授法:讲解Java语言的基本语法、数据类型和控制结构,让学生掌握理论知识。
2.讨论法:学生分组讨论,分享学习心得和编程经验,促进学生之间的交流与合作。
3.案例分析法:通过分析实际案例,让学生学会运用Java语言解决实际问题。
4.实验法:安排编程实践,让学生在实际操作中巩固所学知识,提高编程能力。
四、教学资源选择和准备适当的教学资源,包括教材、参考书、多媒体资料、实验设备等。
教学资源应该能够支持教学内容和教学方法的实施,丰富学生的学习体验。
具体教学资源如下:1.教材:选用权威、实用的Java编程教材,为学生提供系统的学习资料。
2.参考书:推荐学生阅读一些优秀的Java编程书籍,拓展知识面。
3.多媒体资料:制作精美的PPT课件,为学生提供直观的学习界面。
java课程设计pdf一、教学目标本节课的教学目标是使学生掌握Java编程语言的基本语法和结构,能够编写简单的Java程序。
具体目标如下:1.知识目标:–掌握Java语言的基本语法和结构;–理解变量、数据类型、运算符、控制语句等基本概念;–了解面向对象编程的基本概念,如类、对象、封装、继承等。
2.技能目标:–能够使用Java语言编写简单的程序;–能够运用面向对象编程思想编写程序;–能够阅读和理解简单的Java代码。
3.情感态度价值观目标:–培养学生对计算机科学的兴趣和好奇心;–培养学生勇于探索、积极思考的学习态度;–培养学生团队协作、相互帮助的精神。
二、教学内容本节课的教学内容主要包括Java语言的基本语法和结构,以及面向对象编程的基本概念。
具体内容如下:1.Java语言的基本语法和结构:–变量和数据类型;–运算符和控制语句;–方法的基本概念。
2.面向对象编程的基本概念:–类和对象的概念;–封装和继承的概念;–多态的概念。
3.实践环节:–编写简单的Java程序,巩固所学知识;–通过案例分析,深入理解面向对象编程思想。
三、教学方法为了达到本节课的教学目标,我们将采用以下教学方法:1.讲授法:讲解Java语言的基本语法和结构,以及面向对象编程的基本概念;2.讨论法:学生进行小组讨论,深入理解面向对象编程思想;3.案例分析法:分析典型案例,引导学生运用所学知识解决实际问题;4.实验法:让学生动手编写Java程序,巩固所学知识。
四、教学资源为了支持本节课的教学内容和教学方法,我们将准备以下教学资源:1.教材:Java编程语言基础,用于引导学生学习基本语法和结构;2.参考书:Java面向对象编程,用于深入讲解面向对象编程思想;3.多媒体资料:PPT课件,用于直观展示教学内容;4.实验设备:计算机,用于让学生动手编写Java程序。
通过以上教学资源的支持,学生将能够更好地学习Java编程语言,掌握面向对象编程思想,提高编程能力。
小型计算器系统1.课程设计目的《JAVA程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。
实践教学环节是必不可少的一个重要环节。
本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。
2.课程设计要求按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。
同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
3.课程设计内容3.1概要设计3.3.1自定义类说明本程序一共包括:构造方法A5i13w(),setup(), windowClosing(), actionPerformed(), appendchar(), countall(), counting(), Iscountnum()和一个windowcloser类。
(1) A5i13w()是构造方法,在程序创建其对象时就调用,初始化次程序的事件的监听机制。
(2) setup()是我定义的方法,是用来初始化程序的图形应用界面,由A5i13w()来调用。
(3) windowClosing()是用来响应用户的关闭功能。
(4) actionPerformed()是用来处理每个事件的响应的方法(5) appendchar()方法的作用是在用户产生事件后向Textshow追加产生此事件的字符串(6) countall()的意义是在用户按“=”号后,从最里层括号向最外层逐层把括号里的内容传递给counting()方法,并负责对括号本身是否符合数学语法要求进行检验。
(7) counting()方法的作用是首先对无括号的数学表达式有关的数学计算符号进行调整,并检验所有的数学符号,如发现错误的数学符号立即在Labelnow 中显示出来。
(8)Iscountnum()方法的作用是把“+ - ×÷ % . ( )”算术符号转化相应的数字,便于程序的流程控制。
图2.1首先分析这个说要完成的功能,它的主要任务是完成十六进制、十进制、八进制和二进制之间的相互转化,需要包含负数,但不用考虑小数。
其次,确定接口参数。
根据功能可知,它传递给外部的就是一个转后的数据,而外部除了需要传递给转化前的数据以外,是否还需要其他参数呢?我们都知道,十进制的负数同样可以利用其他进制进行表示,例如二进制,转化方法是:求十进制数的绝对值对应的二进制数,最高位为1;然后对二进制逐位求反,最高位除外;接着最低一位加1,需要进位的话依次进位,最高位除外。
如今的问题就摆在了我们面前,我们如何知道这个数的最高位是第几位呢,也许有人会说,那就用转化后的前面再加上一位,好,即使这样可以成立,那么-1转化后就是11,3转化后也为11,现在如果需要现在的把这个数二进制数再转化为十进制,那么我们如何知道原来的是正数还是负数呢,如果要转化为十六进制,八进制又当如何呢?经过以上的分析发现,还应该有另外一个参数——二进制时的宽度,只有这样才能知道谁是最高位,因此就称这个参数为位宽。
最后,设计类。
根据第二步的分析,因为位宽对每一个方法都是一样,所以可能把它作为类的成员变量,而另外两个参数转化前的值和转化后的值就分别作为输入参数和返回值。
而类对外的接口只有各个转化的方法,因此这几个方法设计为public权限,而其它所有的辅助方法都为private权限。
位宽通过构造函数传递,外部不能直接访问和修改,设置也设置为private权限。
为了减少计算量,所有的转化都以二进制为中介。
例如十六进制到十进制,是十六进制→二进制→十进制。
3.2详细设计(程序部分源代码及注释)import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MyCalculator implements ActionListener {JFrame f;JMenu mEdit;JMenu mView;JMenu mHelp;JMenuItem mCopy;JMenuItem mPaste;JTextField tResult;JButton bNumber;JButton bOperator;JButton bOther;JButton bM;boolean isDouble=false;//是否为实数int opFlag=-1;static double t1=0,t2=0,t3=0,result=0;static int opflag1=-1,opflag2=-1,flag=0,resflag=1;int preOp,currentOp=0;//标准位double op1=0,op2=0;//操作数double n3;StringBuffer buf=new StringBuffer(20); StringBuffer copyBoard=new StringBuffer(20);//剪贴板StringBuffer memory = new StringBuffer(20);//M系列StringBuffer str = new StringBuffer();public MyCalculator(){f = new JFrame("计算器ByYX");Container contentPane = f.getContentPane();/****************菜单的创建开始**************************************/ JMenuBar mBar = new JMenuBar();mBar.setOpaque(true);mEdit = new JMenu("编辑(E)");mEdit.setMnemonic(KeyEvent.VK_E);mCopy = new JMenuItem("复制(C)");mEdit.add(mCopy);mPaste = new JMenuItem("粘贴(P)");mEdit.add(mPaste);mView = new JMenu("查看(V)");mView.setMnemonic(KeyEvent.VK_V);mView.add(new JMenuItem("标准型"));mView.add(new JMenuItem("科学型"));mView.addSeparator();mView.add(new JMenuItem("查看分组"));mHelp = new JMenu("帮助(H)");mHelp.setMnemonic(KeyEvent.VK_H);mHelp.add(new JMenuItem("帮助主题"));mHelp.addSeparator();mHelp.add(new JMenuItem("关于计算器"));mBar.add(mEdit);mBar.add(mView);mBar.add(mHelp);f.setJMenuBar(mBar);contentPane.setLayout(new BorderLayout());JPanel pTop = new JPanel();tResult = new JTextField("0.",26);tResult.setHorizontalAlignment(JTextField.RIGHT ); tResult.setEditable(false);pTop.add(tResult);contentPane.add(pTop,BorderLayout.NORTH); JPanel pBottom = new JPanel();pBottom.setLayout(new BorderLayout());JPanel pLeft = new JPanel();pLeft.setLayout(new GridLayout(5,1,3,3));bM = new JButton(" ");bM.setEnabled(false);pLeft.add(bM);bOther = new JButton("MC");bOther.addActionListener(this);bOther.setForeground(Color.RED);bOther.setMargin(new Insets(3,2,3,2));pLeft.add(bOther);bOther = new JButton("MR");bOther.addActionListener(this);bOther.setForeground(Color.RED);bOther.setMargin(new Insets(3,2,3,2));pLeft.add(bOther);bOther = new JButton("MS");bOther.addActionListener(this);bOther.setForeground(Color.RED);bOther.setMargin(new Insets(3,2,3,2));pLeft.add(bOther);bOther = new JButton("M+");bOther.addActionListener(this);bOther.setForeground(Color.RED); bOther.setMargin(new Insets(3,2,3,2)); pLeft.add(bOther);pBottom.add(pLeft,BorderLayout.WEST); JPanel pRight = new JPanel();pRight.setLayout(new BorderLayout()); JPanel pUp = new JPanel();pUp.setLayout(new GridLayout(1,3,3,0)); bOther = new JButton("Backspace"); bOther.addActionListener(this);bOther.setForeground(Color.RED); bOther.setMargin(new Insets(3,0,3,5)); pUp.add(bOther);bOther = new JButton("CE");bOther.addActionListener(this);bOther.setForeground(Color.RED);pUp.add(bOther);bOther = new JButton("C");bOther.addActionListener(this);bOther.setForeground(Color.RED);pUp.add(bOther);JPanel pDown = new JPanel();pDown.setLayout(new GridLayout(4,5,3,2)); bNumber = new JButton("7"); bNumber.setForeground(Color.blue); bNumber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3)); pDown.add(bNumber);bNumber = new JButton("8"); bNumber.setForeground(Color.blue);bNumber.addActionListener(this);bNumber.setMargin(new Insets(3,3,3,3)); pDown.add(bNumber);bNumber = new JButton("9");bNumber.setForeground(Color.blue);bNumber.addActionListener(this);bNumber.setMargin(new Insets(3,3,3,3)); pDown.add(bNumber);bOperator = new JButton("/");bOperator.setForeground(Color.RED); bOperator.addActionListener(this);bOperator.setMargin(new Insets(3,0,3,0)); pDown.add(bOperator);bOperator = new JButton("sqrt");bOperator.addActionListener(this);bOperator.setForeground(Color.blue); bOperator.setMargin(new Insets(3,0,3,0)); pDown.add(bOperator);bNumber = new JButton("4");bNumber.setForeground(Color.blue);bNumber.addActionListener(this);bNumber.setMargin(new Insets(3,3,3,3)); bNumber.setHorizontalTextPosition(JButton.LEFT); pDown.add(bNumber);bNumber = new JButton("5");bNumber.setForeground(Color.blue);bNumber.addActionListener(this);bNumber.setMargin(new Insets(3,3,3,3)); pDown.add(bNumber);bNumber = new JButton("6");bNumber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3)); pDown.add(bNumber);bOperator = new JButton("*"); bOperator.setForeground(Color.RED); bOperator.addActionListener(this); bOperator.setMargin(new Insets(3,3,3,3)); pDown.add(bOperator);bOperator = new JButton("%"); bOperator.setForeground(Color.blue); bOperator.addActionListener(this); bOperator.setMargin(new Insets(3,3,3,3)); pDown.add(bOperator);bNumber = new JButton("1"); bNumber.setForeground(Color.blue); bNumber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3)); pDown.add(bNumber);bNumber = new JButton("2"); bNumber.setForeground(Color.blue); bNumber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3)); pDown.add(bNumber);bNumber = new JButton("3"); bNumber.setForeground(Color.blue); bNumber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3)); pDown.add(bNumber);bOperator = new JButton("-");bOperator.addActionListener(this); bOperator.setMargin(new Insets(3,3,3,3)); pDown.add(bOperator);bOperator = new JButton("1/x"); bOperator.setForeground(Color.blue); bOperator.addActionListener(this); pDown.add(bOperator);bNumber = new JButton("0"); bNumber.setForeground(Color.blue); bNumber.addActionListener(this); bNumber.setMargin(new Insets(3,3,3,3)); pDown.add(bNumber);bOperator = new JButton("+/-"); bOperator.setForeground(Color.blue); bOperator.addActionListener(this); bOperator.setMargin(new Insets(3,3,3,3)); pDown.add(bOperator);bOperator = new JButton("."); bOperator.setForeground(Color.blue); bOperator.addActionListener(this); bOperator.setMargin(new Insets(3,3,3,3)); pDown.add(bOperator);bOperator = new JButton("+"); bOperator.setForeground(Color.RED); bOperator.addActionListener(this); bOperator.setMargin(new Insets(3,3,3,3)); pDown.add(bOperator);bOperator = new JButton("="); bOperator.setForeground(Color.blue);bOperator.addActionListener(this); bOperator.setMargin(new Insets(3,3,3,3)); pDown.add(bOperator);pRight.add(pUp,BorderLayout.NORTH); pRight.add(pDown,BorderLayout.SOUTH); pBottom.add(pRight,BorderLayout.EAST); contentPane.add(pBottom,BorderLayout.SOUTH);f.setSize(new Dimension(320,256));f.setResizable(false);f.setVisible(true);f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});}public void actionPerformed(ActionEvent e){String s=e.getActionCommand();if(s.equals("复制(C)")){String temp=tResult.getText().trim(); copyBoard.replace(0,copyBoard.length(),temp); mPaste.setEnabled(true);}else if(s.equals("粘贴(P)")){tResult.setText(copyBoard.toString());}else if(s.equals("CE")){//如果是CE则清除文本框tResult.setText("0.");}else if(s.equals("Backspace")){//如果是backspace则删除一个字符。