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、摘要2、概要设计3、详细设计4、测试分析5、总结6、参考文献【前言】Java不依赖平台的特点使得它受到广泛的关注,Java已成为网络时代最重要的语言之一。
Java语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。
目前,很多新的技术领域都涉及Java语言,国内外许多大学已将Java语言列入了本科教学计划,掌握Java已经成为共识。
本次课程设计就是利用java语言来编写简单的计算器,能进行加、减、乘、除四则运算,下面给出了该设计的理论分析和具体步骤。
一、摘要本计算器可以进行简单的四则运算(加、减、乘、除),但仅限于十进制下。
“Backspace”按钮表示退格,“CE”按钮表示清除当前文本框内的数据,“C”按钮表示清除文本框内数据,同时var、answer清零。
该程序可在JCreator环境下直接运行。
二、概要设计1、自定义说明(1)类名:Calculator作用:主类继承的父类:JFrame类实现的接口:ActionListener类public class Calculator extends JFrame implements ActionListener{private static String[] btnTexts = {"0","1","2","3","4","5","6","7","8","9","+","-","*","/",".","+/-"}; //定义数组bstTexts来存放计算器上的各个按钮Button button[] = new Button[16];Button BkButton,CeButton,CButton,EqButton;boolean clickable; //控制当前能否按键double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd)short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算DecimalFormat df; //设置数据输出精度private JTextField displayField = new JTextField(" "); //计算结果显示区public Calculator(){………}public void actionPerformed(ActionEvent event){………}}(2)方法名:Calculator作用:设置窗体布局public Calculator(){//Frame frame = new Frame("Calculator");super("Calculator"); //显示主窗口标题“Calculator”df = new DecimalFormat("0.00000000"); //设置数据输出精度(对于double型值)BkButton = new Button("Backspace");BkButton.setForeground(Color.red);CeButton = new Button("CE");tForeground(Color.red);CButton = new Button("C");CButton.setForeground(Color.red);EqButton = new Button("=");EqButton.setForeground(Color.red); //将“Backspace”、“CE”、”C”、“=”显示为红色BkButton.addActionListener(this);nListener(this);CButton.addActionListener(this);EqButton.addActionListener(this);displayField.setHorizontalAlignment(JTextField.RIGHT); //将计算结果显示在displayField的右面JPanel p1 = new JPanel(new FlowLayout()); //以FlowLayout布局p1 p1.add(BkButton);p1.add(CeButton);p1.add(CButton);p1.add(EqButton); //设置四个按钮:"Backspace","CE","C","="JPanel p2 = new JPanel(new GridLayout(2,1)); //以GridLayout布局p2 p2.add(displayField);p2.add(p1); //加入显示结果的JTextField和p1JPanel p3 = new JPanel(new GridLayout(4,4)); //以GridLayout布局p3 for(int i = 0;i < btnTexts.length;i++){button[i] = new Button(btnTexts[i]); //将数组btnTexts[]的值赋给数组button[] button[i].setForeground(Color.blue); //组件button的前景色显示蓝色p3.add(button[i]);button[i].addActionListener(this);}Container cp = this.getContentPane(); //采用默认的BorderLayout布局cpcp.add(p2,BorderLayout.NORTH);R);}(3)方法名:actionPerformed作用:设置各个按钮的行为public void actionPerformed(ActionEvent event){boolean sign = false; //判断是否是double型数参与运算,是为true,不是为falseObject temp = event.getSource();try{for (int i = 0; i <= 9; i++) //如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之后displayField.setText(displayField.getText() + Integer.toString(i));//按下'.'按钮时,判断当前文本框内字符串中含不含'.',如果已含,则不允许再插入'.'if (temp == button[14] && clickable == true){……….}if ( (temp == button[10] || temp == button[11] || temp == button[12] || temp == button[13]) && clickable == true){//'+'操作if (temp == button[10]){…………}//'-'操作if (temp == button[11]){…………}//'*'操作if (temp == button[12]){…………}//'/'操作if (temp == button[13]){…………}//'='操作if (temp == EqButton && clickable == true){…………}//按下'+/-'按钮时处理{…………}//按下'Backspace'键,利用循环将当前字符串中的最后一个字母删除if (temp == BkButton && clickable == true){…………}//按下'CE'按钮,将当前文本框内数据清除if (temp == CeButton){………}//按下'C'按钮,文本框内数据清除,同时var,answer清0if (temp == CButton){………}}//输入中如果有操作非法,比如按下两次'+',捕获异常catch (Exception e){displayField.setText("操作非法");clickable = false;}2、界面设计下图为该程序运行时的界面截图:三、详细设计以下为该程序的主要代码:import javax.swing.*;import java.awt.*;import javax.swing.event.*;import java.awt.event.*;imalFormat;public class Calculator extends JFrame implements ActionListener{private static String[] btnTexts ={"0","1","2","3","4","5","6","7","8","9","+","-","*","/",".","+/-"};Button button[] = new Button[16];Button BkButton,CeButton,CButton,EqButton;boolean clickable; //控制当前能否按键double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd)short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算DecimalFormat df; //设置数据输出精度private JTextField displayField = new JTextField(" ");//计算结果显示区public Calculator(){super("Calculator"); //显示主窗口标题“Calculator”df = new DecimalFormat("0.00000000"); //设置数据输出精度(对于double型值)BkButton = new Button("Backspace");BkButton.setForeground(Color.red);CeButton = new Button("CE");CeButton.setForeground(Color.red);CButton = new Button("C");CButton.setForeground(Color.red);EqButton = new Button("=");EqButton.setForeground(Color.red); //将“Backspace”、“CE”、”C”、“=”显示为红色BkButton.addActionListener(this);CeButton.addActionListener(this);CButton.addActionListener(this);EqButton.addActionListener(this);displayField.setHorizontalAlignment(JTextField.RIGHT); //将计算结果显示在displayField的右面JPanel p1 = new JPanel(new FlowLayout()); //以FlowLayout布局p1 p1.add(BkButton);p1.add(CeButton);p1.add(CButton);p1.add(EqButton); //设置三个按钮:"Backspace","CE","C","="JPanel p2 = new JPanel(new GridLayout(2,1)); //以GridLayout布局p2 p2.add(displayField);p2.add(p1); //加入显示结果的JTextField和p1JPanel p3 = new JPanel(new GridLayout(4,4)); //以GridLayout布局p3 for(int i = 0;i < btnTexts.length;i++){button[i] = new Button(btnTexts[i]); //将数组btnTexts[]的值赋给数组button[] button[i].setForeground(Color.blue); //组件button的前景色示蓝色p3.add(button[i]);button[i].addActionListener(this);}Container cp = this.getContentPane(); //采用默认的BorderLayout布局cpcp.add(p2,BorderLayout.NORTH);cp.add(p3,BorderLayout.CENTER);}//设置各个按钮行为public void actionPerformed(ActionEvent event){boolean sign = false; //判断是否是double型数参与运算,是为true,不是为falseObject temp = event.getSource();try{for (int i = 0; i <= 9; i++) //如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之后if (temp == button[i] && clickable == true)displayField.setText(displayField.getText() + Integer.toString(i));//按下'.'按钮时,判断当前文本框内字符串中含不含'.',如果已含,则不允许再插入'.'if (temp == button[14] && clickable == true){boolean isDot = false;if (displayField.getText().length() == 0)isDot = true;for (int i = 0; i < displayField.getText().length(); i++)if ('.' == displayField.getText().charAt(i)){isDot = true;break;}if (isDot == false)displayField.setText(displayField.getText() + ".");}if ( (temp == button[10] || temp == button[11] || temp == button[12] || temp == button[13]) && clickable == true){//'+'操作if (temp == button[10]){switch (prekey){case 0:answerd += Double.parseDouble(displayField.getText());break;case 1:answerd -= Double.parseDouble(displayField.getText());break;case 2:answerd *= Double.parseDouble(displayField.getText());break;case 3:if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}elseanswerd /= Double.parseDouble(displayField.getText());break;default:le(displayField.getText());}displayField.setText("");prekey = key = 0;}//'-'操作if (temp == button[11]){switch (prekey){case 0:answerd += Double.parseDouble(displayField.getText());break;case 1:answerd -= Double.parseDouble(displayField.getText());break;case 2:answerd *= Double.parseDouble(displayField.getText());break;case 3:if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}elseanswerd /= Double.parseDouble(displayField.getText());break;default:answerd = Double.parseDouble(displayField.getText());}displayField.setText("");prekey = key = 1;}//'*'操作if (temp == button[12]){switch (prekey){case 0:answerd += Double.parseDouble(displayField.getText());break;case 1:answerd -= Double.parseDouble(displayField.getText());break;case 2:answerd *= Double.parseDouble(displayField.getText());break;case 3:if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}elseanswerd /= Double.parseDouble(displayField.getText());break;default:answerd = Double.parseDouble(displayField.getText());}displayField.setText("");prekey = key = 2;}//'/'操作if (temp == button[13]){switch (prekey){case 0:answerd += Double.parseDouble(displayField.getText());break;case 1:answerd -= Double.parseDouble(displayField.getText());break;case 2:answerd *= Double.parseDouble(displayField.getText());break;case 3:if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}elseanswerd /= Double.parseDouble(displayField.getText());break;default:answerd = Double.parseDouble(displayField.getText());}displayField.setText("");prekey = key = 3;}}//'='操作if (temp == EqButton && clickable == true){//如果连续按'=',则进行连续运算if (prekey == 5){if (key == 0){answerd += vard;displayField.setText(df.format(answerd));}if (key == 1){answerd -= vard;displayField.setText(df.format(answerd));}if (key == 2){answerd *= vard;displayField.setText(df.format(answerd));}if (key == 3){if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}else{answerd /= vard;displayField.setText(df.format(answerd));}}}else{vard = Double.parseDouble(displayField.getText());if (key == 0){prekey = -1;answerd += Double.parseDouble(displayField.getText());displayField.setText(df.format(answerd));}if (key == 1){prekey = -1;answerd -= Double.parseDouble(displayField.getText());displayField.setText(df.format(answerd));}if (key == 2){prekey = -1;answerd *= Double.parseDouble(displayField.getText());displayField.setText(df.format(answerd));}if (key == 3){prekey = -1;if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}else{answerd /= Double.parseDouble(displayField.getText());displayField.setText(df.format(answerd));}}prekey = 5;}//按下'+/-'按钮时处理if (temp == button[15] && clickable == true){boolean isNumber = true;String s = displayField.getText();for (int i = 0; i < s.length(); i++)if (! (s.charAt(i) >= '0' && s.charAt(i) <= '9' || s.charAt(i) == '.' || s.charAt(i) == '-')){isNumber = false;break;}if (isNumber == true){//如果当前字符串首字母有'-'号,代表现在是个负数,再按下时,则将首符号去掉if (s.charAt(0) == '-'){displayField.setText("");for (int i = 1; i < s.length(); i++){char a = s.charAt(i);displayField.setText(displayField.getText() + a);}}//如果当前字符串第一个字符不是符号,则添加一个符号在首字母处elsedisplayField.setText('-' + s);}}//按下'Backspace'键,利用循环将当前字符串中的最后一个字母删除if (temp == BkButton && clickable == true)String s = displayField.getText();displayField.setText("");for (int i = 0; i < s.length() - 1; i++){char a = s.charAt(i);displayField.setText(displayField.getText() + a);}}//按下'CE'按钮,将当前文本框内数据清除if (temp == CeButton){displayField.setText("");clickable = true;}//按下'C'按钮,文本框内数据清除,同时var,answer清0if (temp == CButton){vard = answerd = 0;displayField.setText("");clickable = true;}}//输入中如果有操作非法,比如按下两次'+',捕获异常catch (Exception e){displayField.setText("操作非法");clickable = false;}}public static void main(String args[]){Calculator calculator = new Calculator();calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);calculator.setSize(300,200);calculator.setVisible(true);}}四、测试分析(1)程序运行情况该程序正常的响应按钮事件,能进行简单的加、减、乘、除四则运算,在输入之前须先进行清零处理,然后再输入数值进行运算。
java课程设计电子版一、课程目标知识目标:1. 理解Java基本语法和程序结构,掌握变量、数据类型、运算符、控制流程等基本概念;2. 学会使用面向对象编程思想,掌握类和对象的基本概念,能够设计和实现简单的类;3. 熟悉Java常用的集合框架,了解其用途和基本操作方法;4. 掌握Java异常处理机制,了解异常的类型及其处理方法;5. 了解Java多线程编程基础,理解线程的生命周期和同步机制。
技能目标:1. 能够编写简单的Java程序,实现基本的算法和逻辑结构;2. 能够运用面向对象编程思想,设计和实现具有实际意义的Java类;3. 能够运用集合框架解决实际问题,如数据存储、检索等;4. 能够处理程序运行中的异常,提高程序的健壮性;5. 能够编写简单的多线程程序,解决并发问题。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发主动学习的热情;2. 培养学生良好的编程习惯,注重代码规范和优化;3. 培养学生团队协作意识,学会与他人共同解决问题;4. 培养学生面对困难敢于挑战、勇于创新的精神;5. 增强学生的网络安全意识,遵循道德规范,保护个人和他人的隐私。
本课程针对高年级学生,结合Java课程特点和教学要求,将知识目标和技能目标分解为具体的学习成果。
通过本课程的学习,使学生掌握Java编程基本技能,培养良好的编程习惯,提高解决实际问题的能力,同时注重培养学生的情感态度和价值观。
二、教学内容1. Java基本语法和数据类型:包括变量声明、数据类型、运算符、表达式、控制流程(分支、循环)等;教材章节:第1章 Java语言概述,第2章 基本数据类型与运算符。
2. 面向对象编程:类与对象、构造方法、封装、继承、多态等;教材章节:第3章 面向对象编程基础,第4章 封装、继承与多态。
3. Java集合框架:Collection接口、List接口、Set接口、Map接口及其实现类,泛型等;教材章节:第5章 集合框架。
大二java课课程设计一、教学目标本课程的教学目标是使学生掌握Java编程语言的基本语法、概念和编程技巧,培养学生运用Java语言解决实际问题的能力。
具体目标如下:1.知识目标:(1)理解Java编程语言的基本语法和结构;(2)掌握Java编程语言的核心概念,如变量、数据类型、运算符、控制结构、数组、字符串等;(3)熟悉Java编程语言的高级特性,如面向对象编程、异常处理、文件操作、多线程等;(4)了解Java编程语言在实际应用中的常见问题和解决方案。
2.技能目标:(1)能够使用Java编程语言编写简单的程序;(2)具备分析问题和设计算法的能力,能够运用Java语言解决实际问题;(3)熟悉Java编程语言的调试技巧,能够有效地发现和修复程序错误;(4)掌握Java编程语言的常用开发工具和集成开发环境。
3.情感态度价值观目标:(1)培养学生对编程语言的兴趣,激发学生学习编程的积极性;(2)培养学生团队合作的精神,提高学生沟通协作能力;(3)培养学生解决问题的能力,增强学生的自信心和自主学习能力;(4)培养学生具有良好的编程习惯,提高学生的代码质量。
二、教学内容本课程的教学内容主要包括Java编程语言的基本语法、核心概念和高级特性。
具体安排如下:1.第一部分:Java基础(1)Java编程语言的基本语法和结构;(2)变量、数据类型、运算符、控制结构、数组、字符串等基本概念;(3)面向对象编程,如类、对象、封装、继承、多态等;(4)异常处理和文件操作。
2.第二部分:Java高级特性(1)多线程编程;(2)网络编程;(3)Java数据库连接;(4)Java与企业应用程序开发。
3.第三部分:实际应用(1)Java在Web开发中的应用,如JavaServer Pages(JSP)、JavaServer Faces(JSF)等;(2)Java在移动开发中的应用,如Android开发;(3)Java在桌面应用程序开发中的应用。
《JAVA面向对象程序设计》课程设计报告(2011-2012学年第2学期)系别:厦门理工学院计算机科学与技术系专业名称:10级网络工程1班课程设计科目:《JAVA面向对象程序设计》课程设计学生姓名:学号:指导教师:***成绩:完成时间:2012年7月6日题目JAVA程序课程设计任务一手机号码检测器(一)设计任务与目标任务:手机号码是由11位数字构成,用户在输入手机号码时经常混乱输入若干位数字或字母,要求你编写一个程序检测用户所输入的手机号码是否符合规则。
要求目标:检测所输入的手机号码是否是11位检测每一位是否都为数字。
分析论证:本题目要求对用户输入的手机号码进行检测,判断输入的正确性。
曾经有做过类似字符比较的题目,可以借鉴。
将字符的比较运用进来,把用户的输入字符和正确的进行比较。
但是必须满足多次输入和错误提醒。
同时还可以添加提示错误的位置和错误字符是什么。
程序正确运行时可以满足以上功能,基本可以达到题目要求了。
(二)方案设计与论证为了满足多次输入的要求,将提示和输入的操作放在一个循环体中,我采用了do_whiele()循环。
每次输入结束后提示是否继续输入。
在循环中逐步对输入的号码位数和字符类型进行检测。
位数可以分超出和不足,并均给出错误提示。
如果位数满足要求后对手机号码类型进行检测。
一般手机号在0~9之间,所以不满足的字符将报错。
通过将输入的整个字符串调用charAt(int i)方法对字符串逐位比较。
本程序的特点在于可以满足了多次输入和错误字符的显示(内容和位置)。
在程序的调试过程中,有过多次输入正确的号码也会报错(还会报错0位错误),这是因为记录错误位子的变量放在错误条件下并且未在循环体中初始化为0。
最终解决了此问题。
(三)程序框图或流程图,程序清单与调用关系(四)程序运行的测试与分析实现了多次输入和错误提示,可以判断输入的号码的错误位置及字符,错误类型,满足了设计构思要求。
最终结果如下图:实验结果截图:(五)结论心得实验过程中对于判断条件的选择出现了问题,开始时觉得要对输入的字符一个一个的比较,这样增加了难度也不方便实现。
java课程设计25页一、教学目标本章节的教学目标包括以下三个方面:1.知识目标:使学生掌握Java编程语言的基本语法、数据类型、控制结构、面向对象编程等核心知识,能够编写简单的Java程序。
2.技能目标:培养学生运用Java编程语言解决实际问题的能力,提高学生的编程实践能力,使其具备一定的软件开发素养。
3.情感态度价值观目标:激发学生对Java编程语言的兴趣,培养学生勇于探索、积极向上的学习态度,使其认识到编程在现代社会的重要性,培养学生的创新精神和团队合作意识。
二、教学内容本章节的教学内容主要包括以下几个部分:1.Java编程语言的基本语法和数据类型。
2.控制结构,包括条件语句和循环语句。
3.面向对象编程,包括类、对象、继承、多态和接口等。
4.常用Java类库和API的使用。
5.简单的Java程序设计与实践。
三、教学方法为了达到本章节的教学目标,我们将采用以下教学方法:1.讲授法:通过讲解Java编程语言的基本语法、数据类型、控制结构和面向对象编程等知识,使学生掌握核心概念。
2.案例分析法:分析实际编程案例,让学生了解Java编程在实际应用中的重要性。
3.实验法:安排实验室实践环节,让学生动手编写Java程序,提高编程实践能力。
4.讨论法:学生进行小组讨论,分享学习心得和编程经验,培养学生的团队合作意识。
四、教学资源为了支持本章节的教学,我们将准备以下教学资源:1.教材:《Java编程思想》或《Java核心技术》。
2.参考书:提供相关Java编程的参考书籍,供学生自主学习。
3.多媒体资料:制作PPT课件,展示Java编程的关键知识点和实例。
4.实验设备:提供计算机实验室,让学生进行编程实践。
五、教学评估本章节的教学评估将采用以下方式:1.平时表现:评估学生的课堂参与度、提问回答、小组讨论等,占总评的20%。
2.作业:布置课后编程作业,评估学生的编程能力和实践能力,占总评的30%。
3.考试:进行期中考试和期末考试,测试学生对Java编程知识的掌握程度,占总评的50%。
《JAVA程序设计》课程设计五篇第一篇:《JAVA程序设计》课程设计JAVA程序设计》课程设计------Chatter即时聊天工具班级:姓名:学号:指导老师:日期:《目录1.引言.....................................................................................3 2.功能简介..............................................................................3 3.开发环境..............................................................................3 4.课程设计目的.......................................................................3 5.使用手册..............................................................................3 6.程序源代码...........................................................................4 4.1 serverJFrame.java (4)4.2 clientJFrame.java...............................................................9 7.程序运行效果图. (14)8.心得体会 (16)1.引言相信大家一想到基于TCP/IP协议的通信,都会想到利用Socket 类对象建立一条可靠的连接,这样就客户机/服务器就在这条连接上可靠地传输数据。
java课程设计(代码清单)一、教学目标本节课的目标是让学生掌握Java编程语言的基本语法和结构,能够编写简单的Java程序。
具体来说,知识目标包括理解Java的基本数据类型、控制结构、循环结构以及函数的定义和调用;技能目标包括能够使用Java编写简单的程序,解决实际问题;情感态度价值观目标包括培养学生对编程语言的兴趣,增强学生的自信心和解决问题的能力。
二、教学内容本节课的教学内容主要包括Java的基本语法和结构。
具体来说,包括Java的基本数据类型(整型、浮点型、字符型、布尔型)、控制结构(条件语句、循环语句)、函数的定义和调用等。
三、教学方法为了达到本节课的教学目标,将采用多种教学方法,包括讲授法、案例分析法、实验法等。
通过讲解Java的基本语法和结构,让学生理解并掌握相关概念;通过案例分析,让学生将理论知识应用到实际编程中;通过实验操作,让学生亲手编写Java程序,提高编程能力。
四、教学资源为了支持本节课的教学内容和教学方法的实施,将准备教材、参考书、多媒体资料和实验设备等教学资源。
教材和参考书将提供Java编程的基础知识,多媒体资料将帮助学生更好地理解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则删除一个字符。