软件开发工具与环境课程设计
《Java课程设计(J2EE)》大纲

《JAVA课程设计(J2EE)》教学大纲课程编号:53.033060课程名称:JAVA课程设计(J2EE)英文名称:Java Programming设计周数: 3学分:3开设学期:第6学期适用专业:计算机科学与技术先修课程:《面向对象程序设计(Java)》、《Java高级程序设计(J2EE)》一、目的和意义通过本课程设计实践,达到以下目的:(1)培养学生严谨务实的工作态度,并在老师的指导下,提高分析问题和解决问题的能力,促进理论联系实际学风养成。
(2)巩固和加深对面向对象程序设计的基本概念、基本理论和实现技术的理解。
(3)掌握Java开发的主要环境与工具,掌握面向对象的常用控件的使用方法。
(4)初步掌握面向对象系统分析与设计的基本方法和步骤,并能针对简单的实际应用问题进行初步地分析和设计。
(5)掌握Java编程语言,并针对具体应用问题进行编程实现。
(6)通过撰写课程设计论文,锻炼学生科技论文写作能力。
二、选题要求(1)选题应切近生活,以便需求分析;题目不应太大,但系统的功能相对独立完整。
(2)以具体问题的功能模块实现为主,兼顾其它相关的辅助模块。
(3)在合理选题的基础上,进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图等。
(4)能正确使用开发工具进行编码实现,完成相关的功能模块,并进行测试和完善。
(5)课程设计题目常以周边生活中的课题为主,也可选做科研、教改或实验室管理等实际应用题目,学生可自选题目,也可选择教师提供的题目。
(6)以个人独立完成课程设计为主,根据题目确实需要分组做的报教师审批,原则上每组人数不能超过3人,并一定要分工明确。
详见各设计《指导书》(电子版)。
最低要求:对于能力一般的学生,可选作、仿作教材上的综合实例,并实现之。
要求独立完成。
包括:1)4.8 类似航班管理系统的题目:要求功能扩充完整。
2)7.13 扩充该综合实例,实现命令行客户端程序“学生成绩管理系统”等。
软件工程课程设计报告

软件工程课程设计报告( 2015 -- 2016 学年第一学期)课程名称:软件工程课程设计题目:学生宿舍管理系统院系:控制与计算机工程学院班级:组号:组长:组员:指导教师:设计周数:两周小组成绩:日期:2016 年1月8日《软件工程》课程设计任务书一、目的、要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2.熟悉自动化的软件开发工具Rational Rose,并将其运用于软件开发的全过程;3.进一步加强和提高软件工程文档的编写能力;4.培养协作能力和团队精神。
二、主要内容1.运用面向对象方法进行校园宿舍管理系统的需求分析与设计;2.建模语言采用UML,以Rational Rose为建模工具,进行系统的静态建模和动态建模;3.利用对象模型自动生成数据模型,自动建立数据库;4.使用hibernate技术以面向对象的方式编程管理数据库,前端使用html+css结合javaScript 进行设计,后台逻辑采用java来实现,整个系统采用了ssh框架来实现,使得各个模块低耦合,分层明确,提高了代码的重用以及二次开发;5.撰写课程设计报告。
三、任务分配四、进度计划序号设计内容名称完成时间备注1 分组及确定题目1个工作日2 初步的需求分析与设计建模, 确定实2个工作日现平台,并搭建环境3 详细的需求分析与设计建模2个工作日进行中期检查4 关键模块的实现与测试3个工作日5 编写课程设计报告1个工作日6 验收检查及评定成绩1个工作日五、设计成果要求1.建立系统分析模型与设计模型;2.初步建立系统原型,实现关键的功能;3.编写课程设计报告。
六、考核方式1.系统演示及讲解占50%。
2.设计报告占50%。
指导教师:日期:2015 年12 月25 日《软件工程》课程设计成绩评定一、指导教师评语二、成绩学号姓名成绩备注指导教师:日期:2015 年 1 月8 日摘要:学生宿舍管理是学校的一项重要工作,使用计算机技术来管理学生宿舍,不但可以节省时间、人力和资源,更能全面有效地掌握学生的基本情况,及时获取最新的准确资料和信息,加强对来访人员的管理,优化宿舍内部信息的公示,提高报修物品的处理效率,督促学生提高宿舍的卫生质量,重点监控学生缺寝情况,为同学们营造一个良好、舒适、安全的宿舍环境,从而提高生活质量。
vs软件课程设计

vs软件课程设计一、教学目标本课程的教学目标是使学生掌握VS软件的基本操作和应用,培养学生运用VS 软件进行编程和软件开发的能力。
具体目标如下:1.知识目标:(1)了解VS软件的发展历程和基本功能;(2)掌握VS软件的安装和配置方法;(3)熟悉VS软件的界面布局和主要组件;(4)理解VS软件的编程环境和代码管理功能。
2.技能目标:(1)能够熟练使用VS软件进行代码编写、调试和运行;(2)能够运用VS软件进行软件项目的管理和协作开发;(3)能够利用VS软件的插件和工具进行代码优化和性能分析;(4)能够根据实际需求,选择合适的VS软件版本和功能。
3.情感态度价值观目标:(1)培养学生对编程和软件开发的兴趣,提高学生的自主学习能力;(2)培养学生团队合作精神,提高学生的沟通协作能力;(3)培养学生勇于创新、追求卓越的品质,提高学生的综合素质。
二、教学内容本课程的教学内容主要包括以下几个部分:1.VS软件的概述和基本功能;2.VS软件的安装和配置方法;3.VS软件的界面布局和主要组件;4.VS软件的编程环境和代码管理功能;5.VS软件的调试和运行技巧;6.VS软件的项目管理和协作开发功能;7.VS软件的插件和工具的使用;8.VS软件的版本选择和功能应用。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学,包括:1.讲授法:通过讲解 VS 软件的基本概念、功能和操作方法,使学生掌握 VS 软件的基本知识;2.演示法:通过实际操作演示 VS 软件的使用技巧,使学生直观地了解VS 软件的操作过程;3.案例分析法:通过分析实际案例,使学生学会运用 VS 软件解决实际问题;4.实验法:通过上机实验,使学生熟练掌握 VS 软件的操作技能;5.小组讨论法:通过分组讨论,培养学生的团队合作精神和沟通能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选择一本与 VS 软件相关的权威教材,作为学生学习的主要参考资料;2.参考书:提供一些与 VS 软件相关的参考书籍,供学生拓展学习;3.多媒体资料:制作 VS 软件的操作视频和教学课件,提高课堂教学效果;4.实验设备:准备计算机和相关设备,为学生提供上机实验的机会;5.在线资源:推荐一些VS 软件的相关和论坛,供学生在线学习和交流。
程序设计基础课程设计实验

程序设计基础课程设计实验一、课程目标知识目标:1. 让学生理解程序设计的基本概念,掌握编程语言的语法和结构。
2. 培养学生运用程序设计思想解决问题的能力,包括数据表示、逻辑判断和循环控制等。
3. 使学生了解程序设计的流程,学会编写、调试和优化程序。
技能目标:1. 培养学生运用编程工具进行程序设计和调试的能力。
2. 培养学生独立思考和解决问题的能力,提高编程解题技巧。
3. 培养学生团队协作和沟通能力,能够与他人共同完成程序设计任务。
情感态度价值观目标:1. 培养学生对程序设计的兴趣和热情,激发学生学习编程的积极性。
2. 培养学生勇于尝试、不怕失败的精神,提高学生面对编程挑战的自信心。
3. 引导学生认识到编程在科技发展和社会进步中的重要作用,培养学生的社会责任感和创新意识。
课程性质:本课程为程序设计基础课程,旨在让学生掌握编程基本技能,培养编程思维。
学生特点:学生为初中年级,具备一定的逻辑思维能力,好奇心强,对新鲜事物感兴趣。
教学要求:注重理论与实践相结合,以实例为主线,引导学生主动探索,培养实际编程能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 程序设计基本概念:程序、编程语言、算法等基本概念介绍。
2. 编程环境搭建:安装编程软件,了解编程环境,学会使用开发工具。
3. 语法基础:变量、数据类型、运算符、表达式和语句等。
4. 控制结构:顺序结构、分支结构(if语句)、循环结构(for、while语句)。
5. 函数与模块:函数的定义、调用、参数传递,模块的导入和使用。
6. 数组与列表:数组的概念、使用,列表的创建、操作。
7. 文件操作:文件的打开、读取、写入和关闭。
8. 编程规范与调试:代码风格、命名规则,调试技巧和错误处理。
9. 综合实例分析:分析实际编程案例,学会运用所学知识解决问题。
教学内容安排与进度:第1-2周:程序设计基本概念,编程环境搭建。
第3-4周:语法基础,变量、数据类型、运算符。
软件开发培训课程设计方案

软件开发培训课程设计方案随着经济的快速发展和科技的飞速进步,社会对于软件开发人才的需求量增加,每一家企业都在寻求能够满足其需求的开发人才,而对于这方面的培训往往难以满足市场的需求。
现阶段,学校相对而言开设的软件开发类课程数量是有限的,内容也不是很新颖,只是停留在基础理论层面,重点不在于实践,也不能够给学生带来实际落地的技能。
二、设计方案为了解决软件开发培训课程设计上的缺失,我们制定出以下课程设计方案:(一)课程模块设计根据后续实践要求,我们将课程分为三大模块:1、基础知识模块:包括计算机科学基础、计算机网络、数据库原理、操作系统等;2、软件工程基础模块:包括面向对象分析与设计、软件架构设计、UML(统一建模语言)等;3、实践模块:包括Java、C/C++、Python等软件开发语言的实践。
(二)教学实施计划1、创建一个灵活的模拟环境,让学生实现一个小型的软件开发项目;2、使用系统化的方法讲解软件开发流程,帮助学生掌握软件开发的各个部分;3、重点系统化讲解软件开发中遇到的各种技术和工具,让学生更加了解软件开发;4、组织实践项目,推进实践技能的掌握,锻炼学生的实践能力;5、实践项目结束后评估学生实践能力,推进软件开发技能水平的提升。
(三)课程考核标准1、认真完成课堂学习;2、准确摘要实践项目步骤和设计;3、实现一个小型的软件开发项目;4、正确使用软件技术和工具;5、及时归纳总结实践项目过程中遇到的问题及解决办法;6、熟练掌握软件开发流程。
三、结论通过以上设计,可以更加有效、准确地提升学生的软件开发技能水平,使学生在软件开发中有更多实际应用的能力,从而满足当今社会对于高级软件开发人才的需求。
BS架构企业应用软件开发(软件工程课程设计)

《B/S架构企业应用软件开发》软件工程课程设计引言 (3)第一章系统总体设计 (4)一、需求概述: (4)二、运行环境: (4)1.硬件设备 (4)2.支持软件 (4)三、处理流程: (4)四、软件结构 (6)五、界面设计 (7)六、网页设计的规范 (7)1.网站目录规范 (7)2.文件命名规范 (8)3.链接结构规范 (8)4.动态网页制做规范 (8)七、出错输出信息 (8)1.出错提示 (8)2.出错处理对策 (9)八、安全保密设计 (9)1.用户权限管理机制 (9)2.密码加密机制 (9)3.日志文件 (9)九、系统维护设计 (9)第二章数据库设计 (10)一、逻辑结构设计 (10)二、数据库表列表 (10)三、物理结构设计 (14)四、数据结构与程序的关系 (16)第三章功能模块开发 (15)一、用户管理模块 (15)二、系统设置模块 (17)三、财务处理模块 (19)第四章系统运行结果 (23)一、运行界面总览 (23)二、详细运行情况 (24)1.用户管理模块 (24)2.系统设置模块 (25)3.财务处理模块 (26)第五章结束语 .......................................................................................................................... 错误!未定义书签。
[参考文献] ............................................................................................................................ 错误!未定义书签。
系统所需数据输入部分由联网的各个办事处的人员录入,系统(架设在企业自有服务器之上或者租用虚拟主机)则根据该批已录入的数据自动生成相应的统计信息。
2008级计算机科学与技术本科专业培养方案

2008级计算机科学与技术本科专业培养方案一、培养目标本专业按社会发展需要培养适应计算机学科发展,德、智、体全面发展,基础理论扎实、知识面宽、实践能力强的应用型高级工程技术人才。
毕业生具有较高的思想素质和强烈的社会责任感,胸怀强国之志;具有良好的科学素养,系统地掌握计算机学科的基本理论、基本知识、基本技能与方法,熟练掌握所学方向的知识与能力,富有创新精神和开拓进取的勇气,具有实际工作能力和较强的适应能力;有较高的文化素养,有健康的体魄和良好的心理素质,能在社会上发挥积极作用。
毕业生适宜从事计算机科学与技术的理论研究、技术研究和开发应用。
本专业下分软件工程方向和网络工程方向。
软件工程方向的学生要熟练掌握多种常用的软件设计开发工具;获得软件设计、开发和项目管理方法的良好训练,具有良好的规范化的软件工程设计开发素养,具备较强的计算机软件系统开发和应用能力。
网络工程方向的学生要熟悉计算机网络的软、硬件技术,具有扎实的计算机网络理论知识和专业技能,具备较强的计算机网络软硬件开发能力。
二、业务培养要求(一)德育和体育方面热爱社会主义,拥护中国共产党领导,努力学习马列主义、毛泽东思想和邓小平理论。
具有为国家富强、民族昌盛而奋斗的志向和责任感;热爱科学事业;具有求实、合作和勇于创新的科学精神;具有良好的思想品德和心理素质,遵纪守法,注重职业道德修养;具有诚信意识和团队精神;具有健康的身体和心理,达到国家规定的大学生体育合格标准。
(二)业务方面1、受到良好的科学思想、科学实验的基本训练和文化教育,掌握科学思维方法和工程设计方法。
具有一定的文化修养,具有良好语言表达、交流、沟通能力和现代意识。
2、掌握计算机系统与软件的基本理论、基本知识和基本技能,了解学科的知识结构、基本形态、典型技术、核心概念和基本流程;并初步了解学科发展现状和未来的发展趋势。
3、软件工程方向的学生要熟练掌握多种常用的软件设计开发工具;获得软件设计、开发和项目管理方法的良好训练,良好的规范化的软件工程设计开发素养,具备较强的计算机系统和软件系统开发及应用的能力。
java课程设计报告-java课程设计

Java 课程设计报告题目:文本编辑器班级:学号:姓名:成绩:日期:年月日目录一、综合设计的目的与要求⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3二、综合设计正文⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯31. 系统分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯31.1系统开发背景、开发范围、建设目标与必要性开发⋯⋯⋯⋯⋯⋯⋯⋯31.2需求分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯32.系统设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯32.1功能设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯32.2系统运行环境与开发工具⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯43 . 系统实施⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4 3.1 源程序⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯43.2 .系统测试及部分截图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12三、综合设计总结或结论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13四、参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13《文本编辑器》一、综合设计的目的与要求要求在学生能够较熟练使用java 程序设计语言进行软件代码的编写,同时还要具备较好的项目分析的能力,加深对相关课程基本内容的理解。
同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统的练习。
二、综合设计正文1系统分析1.1系统开发背景、开发范围、建设目标与必要性随着计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
当然对文本编辑操作仍然占据着重要地位,记事本是简单便捷的文本编辑器,可实现对文本编辑操作的基本功能。
1.2需求分析程序设计主要分为两大部分:简单 GUI 设计和程序功能设计。
通过 GUI 设计实现图形用户界面,提供图形菜单,方便用户操作。
使用Java 语言编写一个能够对输入文字进行操作,具有合理的界面,能够在界面中实现右键快捷方式,对文档内容进行编辑操作,并且能够顺利退出的程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉理工大学课程论文实验课程名称软件工具与环境论文名称用eclipse写个小程序开课学院计算机科学与技术学院指导老师姓名张能立学生姓名何文明学生专业班级软件工程0901 2011— 2012学年第1学期目录1. 摘要 (2)2 .关键字 (2)3. 使用开发工具(Eclipse)简介 (2)4. 开发内容 (3)5. 程序设计说明 (3)6. 按钮代表意义 (3)7. 源代码 (4)8. 调试结果 (9)9. 总结体会 (10)10. 参考文献 (10)1.摘要Java语言是有美国Sun公司开发的一种完全面向对象的程序设计语言。
Java语言由C++语言发展而来,但比C++语言简单。
Java语言具有简单、与平台无关、高效、健壮、安全、多线程等特点,它是当前网络编程中的首选语言。
2.关键字:Eclipse Java 四则运算计算器3. 使用开发工具(Eclipse)简介Eclipse是著名的跨平台的自由集成开发环境(IDE),是一个开放源代码的、基于Java 的可扩展开发平台。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
它最初的开发目标是一个高质量的开发工具平台,但在Eclipse的发展过程中,人们意识到Eclipse除了用于开发工具平台外,还适合作为更普遍应用的平台基础,开发小组据此进行了若干通用化改进,到3.0版本的时候,Eclipse正式成为了通用的富客户端平台(Rich Client Platform)。
近年来,Eclipse在嵌入式系统及设备开发、企业级开发、应用程序周期管理等领域也得到了广泛的应用。
Eclipse优点(1)灵活的插件结构通常的软件必须通过重新编译的形式才能进行更改或扩充,而Eclipse通过使用插件机制,让我们可以动态地增加系统功能而无需修改系统代码,还能复用Eclilpse平台提供的众多扩展点。
(2)开放源代码开放源代码不仅仅意味着免费,还使得Eclipse成为一个开放、自由的体系。
开放源代码鼓励创新,并激励开发人员为公共开放源码库贡献代码,为这个项目作贡献的开发人员越多,这个项目就会变得日益有用。
另外,开放源代码还使得平台开发人员的学习曲线变得更平滑,因为Eclipse平台本身就包含了若干高品质的插件实现范例,是开发人员学习和模仿的对象。
而由于Eclipse几乎是免费的,而Microsoft公司的产品有很尴尬的盗版侵权问题,越来越多的公司的开发部门由Jbuilder转向了Eclipse,对于程序员而言,更让我们欣喜的是,Eclipse 开放源代码,这意味着我们可以通过阅读顶级的Java源代码学习优雅,高效的编程。
(3)跨平台性和优良的用户体验Eclipse是基于跨平台的程序语言Java开发的,这使得开发人员基于Eclipse 开发的程序也可以方便地跨平台部署。
另外,Ecliplse通过引入SWT(Standard Widget Toolkit),使得开发出来的GUI 程序效率更高,而且具备了与本地操作系统一致的外观和操作方式,大大改善了Java程序的用户体验。
4.开发内容用学会的java知识,在Eclipse上编写一个程序,实现一个简单的计算器,能进行加、减、乘、除、开平方四则运算。
5.程序设计说明(1)使用到java图形用户界面的组件和事件的java.swing和javax.swing包。
import java.awt.*;import java.awt.event.*;import javax.swing.*;(2)构造方法Calculator()实现软件程序的界面,包括界面大小、显示位置、界面的个个组件按钮的位置、大小,以及按钮注册事件监听器。
(3)按钮的单击事件处理方法actionPerformed(ActionEvent e)处理按钮的单击事件,当单击某个按钮时,就会产生相应的事件处理。
(4)方法operate()被actionPerformed(ActionEvent e)调用,用于具体处理计算符号对应的运算。
6.按钮代表意义“sqrt”-------------------------开平方“CE”--------------------------清零“star”-------------------------开始/重新开始“1”、“2”等数字键---------代表要输入的数字值“+”、“*”等运算键---------代表四则运算的运算符号“.”------------------------------表示小数点7.源代码package Di_liu_zhang;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Calculator extends JFrame implements ActionListener{ JTextField tf; //文本框,显示输入输出JButton jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8,jb9,jb10,jb11;//计算按钮JButton jb[] =new JButton[10]; //数字按钮数组char lastOperator;double storedNumber;Boolean isDot,operated = false,equaled =false;public Calculator(){super("小风哥计算器");setSize(255,225);setLocation(500,250);setResizable(false);setLayout(new FlowLayout()); //流布局,居中tf = new JTextField(22);//文本框add(tf);tf.setHorizontalAlignment(JTextField.RIGHT);tf.setEditable(false);//界面按钮设计,并注册事件监听器jb1 = new JButton("sqrt");add(jb1);jb1.addActionListener(this);jb3= new JButton(" CE ");add(jb3);jb3.addActionListener(this);jb4 = new JButton(" C ");add(jb4);jb4.addActionListener(this);jb[7] = new JButton(" 7 ");add(jb[7]);jb[7].addActionListener(this);jb[8] = new JButton(" 8 ");add(jb[8]);jb[8].addActionListener(this);jb[9] = new JButton(" 9 ");add(jb[9]);jb[9].addActionListener(this);jb5 = new JButton(" / ");add(jb5);jb5.addActionListener(this);jb[4] = new JButton(" 4 ");add(jb[4]);jb[4].addActionListener(this);jb[5] = new JButton(" 5 ");add(jb[5]);jb[5].addActionListener(this);jb[6] = new JButton(" 6 ");add(jb[6]);jb[6].addActionListener(this);jb6= new JButton(" * ");add(jb6);jb6.addActionListener(this);jb[1] = new JButton(" 1 ");add(jb[1]);jb[1].addActionListener(this);jb[2] = new JButton(" 2 ");add(jb[2]);jb[2].addActionListener(this);jb[3] = new JButton(" 3 ");add(jb[3]);jb[3].addActionListener(this);jb7 = new JButton(" - ");add(jb7);jb7.addActionListener(this);jb[0] = new JButton(" 0 ");add(jb[0]);jb[0].addActionListener(this);jb8 = new JButton(" . ");add(jb8);jb8.addActionListener(this);jb9 = new JButton(" = ");add(jb9);jb9.addActionListener(this);jb10 = new JButton(" + ");add(jb10);jb10.addActionListener(this);setVisible(true);}public void actionPerformed(ActionEvent e) //按钮的单击事件处理方法{JButton btn=(JButton)e.getSource();//计算按钮的时事件处理if(btn==jb3){tf.setText("0");isDot=false;storedNumber=0;lastOperator='?';}else if(btn==jb9){operate('=');equaled=true;}else if(btn==jb10){operate('+');equaled=false;}else if(btn==jb7){operate('-');equaled=false;}else if(btn==jb6){operate('*');equaled=false;}else if(btn==jb5){operate('/');equaled=false;}else if(btn==jb1){operate('s');operate('=');equaled=true;}//数字按钮的处理方法else{if(equaled)storedNumber=0;for(int i=0;i<10;i++)if(btn==jb[i]){if(tf.getText().equals("0"))tf.setText(""+i);else if(!operated)tf.setText(tf.getText()+i);else{tf.setText(""+i);operated=false;}}if(btn==jb8&&!isDot){ //小数点处理方法tf.setText(tf.getText()+".");isDot=true;}}}public void operate(char operator) //计算符号的具体计算方法{double currentNumber =Double.valueOf(tf.getText()).doubleValue();if (lastOperator == '?')storedNumber = currentNumber;else if (lastOperator == '+')storedNumber += currentNumber;else if (lastOperator == '-')storedNumber -= currentNumber;else if (lastOperator == '*')storedNumber *= currentNumber;else if (lastOperator == '/')storedNumber /= currentNumber;else if (lastOperator == 's')storedNumber = Math.sqrt(currentNumber);else if (lastOperator == '=' && equaled)storedNumber = currentNumber;tf.setText("" + storedNumber);operated = true;lastOperator = operator;}public static void main(String[] args) { //主函数new Calculator();}}8.调试结果:1.开始界面2.乘法计算2356*15233.加法计算56255+46146424.减法计算45633 —126485.除法计算136543 / 25156.开方计算155455659.总结体会一个简单的四则运算的计算器程序,看起来简单,但当自己真正编写程序的时候,才发现,不是那么容易的。