spec.txt

[Java程序设计实用教程(第5版)][叶核亚][配套练习题]

收藏

资源目录
跳过导航链接。
[Java程序设计实用教程第5版][叶核亚][配套练习题].rar
2 程序 JDK8 Eclipse
2.2 讲课(思考题,课件,样卷)
02.3.2 二维数组【例2.6思考题】幻方
bin
src
.classpath
.project
02.4.3 参数传递【例2.7思考题】一维整数数组排序
03.4.1 子类声明多态成员【思考题】隐藏name
04.3.1 java.lang包 3. Comparable【例3.7】图形类
07.2.4 线程,动画设计【实验7-5】弹弹球
.settings
07.3.3 线程同步【实验7-12】弹弹球穿越
08.2.6 管道字节流【试题8,4-0样卷】线程间传送数据
09.2 TCP Socket【例9.0讲课,实验9-1】点对点聊天
12.5 1.界面 (1)列表框【课程设计12-3,实验6-15】继承例6.4,Student对象信息管理;列表框分类
students.obj
12.5 1.界面 (1)列表框【课程设计12-4,实验6-16,例6.5】继承例8.7 文本编辑器,颜色组合框,渲染器
12.5 1.界面 (2)表格【课程设计12-08,例8.2】随机数序列
12.5 2.线程【课程设计12-27,实验6-23、7-4】表格动态显示,文件,幻方等
fibonacci.int
magic.int
multi99.int
12.5 2.线程【课程设计12-27,实验6-34】多叶玫瑰线自动播放
12.5 6.树【课程设计12-54】采用分类树的Student对象信息管理,省市树,专业树
2.4 习题解答
02.2.3 循环语句【习2.1】理解Java的字符类型
02.4.3 参数传递【习2.2】下标和相等的数字方阵
03.1 类和对象【习3.1】交换变量与对象
03.2 类的封装性【习3.2】构造方法
03.3 类的继承性【习3.4】类的继承性问题讨论
04.3.2 java.util包【习4.1】判断Java关键字
05.2.2 抛出异常【习5.1】Complex类
08.2.2 文件字节流【习8.1】比较文件相等
08.2.3 数据字节流【习8.2】理解数据流
08.2.3 数据字节流【习8.3】整数文件写入
08.2.4 对象字节流【习8.4】排序对象文件的查找操作
08.3 字符流【习8.5】理解字符流
7 给电子工业出版社的教学资源
压缩包内文档预览:

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

Java程序设计实用教程(第5版)叶核亚配套练习题,Java程序设计实用教程(第5版),叶核亚,配套练习题,Java,程序设计,实用教程,配套,练习题
编号:81155647    类型:共享资源    大小:1.31MB    格式:RAR    上传时间:2020-05-25 上传人:野** IP属地:河北
30
积分
关 键 词:
Java程序设计实用教程(第5版) 叶核亚 配套练习题 Java 程序设计 实用教程 配套 练习题
资源描述:
[Java程序设计实用教程(第5版)][叶核亚][配套练习题],Java程序设计实用教程(第5版),叶核亚,配套练习题,Java,程序设计,实用教程,配套,练习题
内容简介:
Java程序设计课程教学大纲课程名称:Java程序设计英文名称:Java Programming课程类型:专业基础课学 分:4总 学 时:64 讲课学时:48 上机学时:16适用对象:计算机类专业本科先修课程:C/C+程序设计I、C/C+程序设计II(可选)一、课程目标1、课程性质和目的“Java程序设计”是计算机类专业的专业基础课。程序设计是高等学校计算机类各专业的核心专业基础课程,是培养学生软件设计能力的重要课程。在本科教学培养体系中,起着非常重要的作用。开设本课程的目的是:进行程序设计和面向对象方法的基础训练;为操作系统、网络通信、数据库应用、Web应用等软件应用领域的实际问题,提供基于Java技术的解决方案。2、课程任务(1)全面、系统地介绍Java语言的基础知识、运行机制、多种编程方法和技术,通过讲授这些构成Java应用程序的基本要素和必备知识,使学生理解并掌握面向对象的程序设计方法,建立牢固扎实的理论基础。(2)介绍Java 图形用户界面、线程、流和文件操作、网络通信等技术,通过讲授这些广泛应用于软件系统中的实用技术,使学生进一步体会软件设计方法,深入理解基础理论,培养综合应用程序的设计能力。4、教学基本要求(1)了解Java语言特点,理解Java Application应用程序的运行原理和方法。掌握在JDK环境中编译和运行程序操作,熟悉在MyEclipse等集成开发环境中编辑、编译、运行和调试程序操作。(2)掌握Java语言的基本语法成分,包括数据类型、语句、方法等。(3)理解面向对象程序设计思想,掌握类的封装和继承原则,理解运行时多态,理解抽象类和最终类的作用。(4)掌握接口以及实现接口类的声明和使用方法,理解接口的作用;熟悉内嵌类型;熟悉Java API语言包和实用包。(5)理解异常处理机制,掌握Java异常的抛出、捕获及处理方法。(6)掌握Java的图形用户界面设计技术,包括Swing组件、事件处理等。(7)理解线程概念,掌握Java线程对象的使用方法以及改变线程状态的方法;熟悉采用线程互斥和线程同步方法处理并发执行的交互线程间存在的竞争和协作关系,实现线程通信问题。(8)理解流的概念,掌握Java各种字节流类和字符流类;熟悉文件操作方法。(9)掌握实现TCP Socket通信的方法;熟悉UDP数据报通信和组播通信的方法。(10)使用图形用户界面、线程、输入/输出流、Socket通信等技术,设计综合应用程序。二、教学内容1、Java概述(支撑课程目标1)教学要求:了解Java语言特点、Application应用程序;掌握在JDK和MyEclipse等集成开发环境中编译和运行程序的操作。教学内容: (1)了解Java语言特点,理解Java Application应用程序的运行原理和方法,理解由Java虚拟机支持的程序运行机制。(2)掌握在JDK环境中编译和运行程序的操作,理解Java包的概念和作用。熟悉在MyEclipse等集成开发环境中编辑、编译、运行程序的操作,掌握单步调试技术。2、Java语言基础(支撑课程目标2)教学要求:掌握Java语言的基本语法成分,包括数据类型、语句、方法等。教学内容: (1)掌握Java语言的基本语法成分,包括标识符与关键字、数据类型、运算符、表达式、变量声明等语言成分,掌握分支、循环等流程控制语句的语法和使用。理解对C/C+语言的改进之处。(2)掌握数组类型的声明和动态内存申请;掌握字符串的声明和使用。(3)掌握Java语言的方法声明和调用规则,理解基本类型和引用类型作为方法参数和返回值的传递规则的不同之处。3、类的封装、继承和多态(支撑课程目标3)教学要求:理解面向对象程序设计思想,掌握类的封装和继承原则,理解运行时多态,理解抽象类和最终类的作用。教学内容: (1)掌握Java语言类的封装措施,理解对象的引用模型。(2)掌握类的继承原则,使用重载和覆盖等多态概念设计可复用方法,理解运行时多态。(3)掌握抽象类和最终类的声明方法,理解抽象类和最终类的作用。4、接口、内部类和Java API基础(支撑课程目标4)教学要求:掌握接口以及实现接口类的声明和使用方法,理解接口的作用;熟悉内嵌类型;熟悉Java API语言包和实用包。教学内容: (1)掌握声明接口、一个类实现多个接口的声明和使用方法,理解接口的作用,理解接口和实现接口的类的关系。(2)理解内嵌类型的概念,掌握声明内部类的方法。(3)熟悉Java API语言包和实用包中的常用类及其主要方法。(4)理解泛型及其继承性。5、异常处理(支撑课程目标5)教学要求:理解异常处理机制,掌握Java异常的抛出、捕获及处理方法。教学内容: (1)了解程序中出现的各种错误及其处理手段。(2)理解异常处理机制的运行方式,掌握Java异常的抛出、捕获及处理方法,熟悉自定义异常在程序设计中的作用。6、图形用户界面设计(支撑课程目标6)教学要求:掌握Java的图形用户界面设计技术,包括Swing组件、事件处理等。教学内容: (1)掌握基于Swing组件的图形用户界面设计方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等,掌握多种布局方式,掌握窗口菜单和快捷菜单设计方法。(2)理解委托事件处理模型,掌握各种事件的事件处理方法。(3)熟悉在组件上绘图的方法。7、多线程编程(支撑课程目标7)教学要求:理解线程概念,掌握Java线程对象的使用方法以及改变线程状态的方法;熟悉采用线程互斥和线程同步方法处理并发执行的交互线程间存在的竞争和协作关系,实现线程通信问题。教学内容: (1)理解进程与线程概念;掌握创建、启动、中断Java线程对象的方法,理解线程状态,掌握改变线程状态的方法,掌握设置线程优先级的方法。(2)理解并发执行的多线程间存在的竞争和协作关系,掌握实现线程互斥和线程同步的方法。8、流和文件操作(支撑课程目标8)教学要求:理解文件、目录、流等概念,掌握Java各种字节流和字符流类;熟悉文件操作方法。教学内容: (1)理解文件、目录概念,理解流的概念,理解流在文件操作中的作用。(2)熟悉Java各种字节流类和字符流类,掌握通过文件流对类型文件和文本文件的读写操作,熟悉通过管道流在对象之间传递数据。(3)理解文件属性,掌握文件操作方法,熟悉文件操作类、文件过滤器、文件对话框。9、Socket通信(支撑课程目标9)教学要求:理解Socket通信原理;掌握实现TCP Socket通信的方法;熟悉UDP数据报通信和组播通信的方法。教学内容: (1)理解TCP Socket通信原理,掌握TCP Socket通信的实现方法。(2)理解UDP Socket通信原理,熟悉UDP数据报通信和组播通信的方法。10、综合应用设计(支撑课程目标10)教学要求:使用图形用户界面、线程、流、Socket通信等技术,进行综合应用程序设计。教学内容: (1)熟悉Java集合框架,熟悉遍历集合的迭代方法。(2)熟悉Java的反射机制。(3)熟悉JList、JTable、JTree等复杂Swing组件,熟悉多文档界面的概念及设计方法。三、各教学环节学时分配表本课程学时为64,其中讲课48学时,上机16学时。学时分配见下表。教学单元名称讲课实验上机习题研讨Java概述2Java语言基础42类的封装、继承和多态82接口、内部类和Java API基础62异常处理2图形用户界面设计84多线程编程42流和文件操作62Socket通信42综合应用设计4合 计4816四、教学组织与方法本课程采取理论讲授与实践环节相结合的教学方法,通过课堂讲授、课外练习、上机实验等各环节,对学生进行系统的程序设计训练,达到高质量的教学要求。各环节的教学方法与要求说明如下。(1)通过课堂讲授,使学生熟悉课程内容,理解基础理论;通过例题,演示各章内容和设计结果;通过课堂练习,及时发现学生理解的偏差;通过课堂讨论,及时改正错误,使学生加深理解。课堂教学采取板书与多媒体相结合的方式进行。本课程配有多媒体课件,其中包含课程主要内容和重点;讲课过程中,需要采用多媒体方式演示如何使用Java语言集成开发环境和程序运行情况。(2)通过课外练习,使学生深入理解理论知识,熟练操作。(3)通过上机实验和课程设计等各实践环节,对学生进行系统的程序设计训练,逐步提高程序设计能力。所有例题、课堂练习题、课外习题、上机实验题都是精心挑选的,由浅入深,环环相扣,步步推进,调动学生的主动性和自觉性并培养学生写程序的兴趣和能力。上机实验在计算机实验室进行。在实验课之前,学生选择实验题,根据实验要求编写程序并调试;在实验课上,针对学生程序出现的各种问题,教师进行辅导,指出问题所在,提出改进意见。五、课程考核与成绩评定本课程为考试课程。本课程的总评成绩由平时成绩和期末考试成绩两部分构成,详见下表。成绩组成考核/评价环节分值(或百分比)考核/评价细则教学目标学习过程考核(平时)考勤、课堂5%出勤情况,课堂表现教学秩序良好,学习态度良好作业、单元测验、期中考试10%根据作业等的数量和质量评定成绩。掌握各单元基础、重点和难点内容,测试学习情况,督促学生复习,提高编程能力。上机实验及实验考查15%根据题目难度、程序功能、运行情况和实验报告质量综合评定成绩培养程序设计能力、程序运行和调试能力;培养撰写符合要求、格式规范设计报告能力。学习效果考核(期末)考试,闭卷70%按照试卷的评分标准全面掌握基础知识、重点和难点内容,培养程序设计能力,达到课程教学目标要求。任课教师可根据每学期的实际情况,调整平时成绩各项所占比例。成绩形式:百分制。六、推荐教材和教学参考书目与文献推荐教材:Java程序设计实用教程(第5版),叶核亚编著,电子工业出版社,2019年,“十一五”、“十二五”普通高等教育本科国家级规划教材,“十二五”江苏省高等教育重点教材。参考书目与文献:Java程序设计实用教程(第5版)习题解答和实验指导,叶核亚编著,讲义,2019年。Java程序设计教程(第2版),雍俊海编著,清华大学出版社,2007年。Java2实用教程(第3版),耿祥义编著,清华大学出版社,2006年。Java程序设计,许满武主编,高等教育出版社,2006年。七、其他说明本课程包含16学时上机,目的和要求见实验大纲。本课程另有1周课程设计,目的和要求见课程设计大纲。大纲制订人:叶核亚制订日期:2019年 4月8日Java程序设计课程实验(上机)教学大纲一、教学目标与基本要求“Java程序设计”是计算机学科各本科专业的专业基础课程,理论与实践并重,实用性强。本课程实验的教学目标与基本要求是:(1)了解JDK的特点、作用和原理,了解在JDK环境中编译和运行Java程序的操作。掌握在MyEclipse等集成开发环境中,编辑、编译、运行Java程序的操作,能够及时发现程序错误、错误原因及错误所在,并改正错误;掌握单步调试技术,包括单步运行、设置断点、查看变量运行时值等,发现并改正程序逻辑错误。(2)验证面向对象的理论、方法和技术,加深对基础知识的理解,掌握基本的编程技术和方法。(3)掌握图形用户界面、线程、流、文件操作、Socket通信等实际应用问题的软件设计方法;设计实现指定功能的应用程序,要求具有图形用户界面、能够处理事件、能够处理异常。(4)综合设计具有一定规模、难度的应用程序,逐步积累程序设计经验,提高程序设计能力,培养学生独立分析问题和解决问题的能力。二、基本理论与实验技术知识(1)Java语言的语句、数组、引用类型等基本语法成分;类、接口、内嵌类型、包、异常处理等面向对象程序设计思想和表达机制。(2)Java的多种实用技术,包括图形用户界面、线程、流、文件操作、Socket通信等。三、实验项目的设置与内容提要序号上机项目内 容 提 要学时类型每组人数要求教学目标1语言基础训练Java语言基础训练;程序运行和单步调试2验证1必做掌握Java语言基础,掌握单步调试技术2面向对象设计类的封装、继承、多态和抽象性2设计1必做掌握类的封装、继承、多态、抽象等特性3接口和内部类接口和实现接口的类;内部类;Java API 2验证1必做掌握接口、内部类的使用,掌握异常处理4图形用户界面一使用按钮等简单Swing组件,动作事件处理2设计1必做掌握图形用户界面的制作,理解事件处理5图形用户界面二使用列表框等复杂Swing组件,多种事件处理;绘图;异常处理2设计1必做掌握复杂Swing组件的使用,掌握绘图方法6线程线程设计;动画;线程互斥,线程同步2设计1必做掌握线程使用,理解线程互斥和线程同步7流和文件操作字节流;字符流;文件操作2设计1必做掌握字节流和字符流操作,熟悉文件操作8Socket通信TCP Socket通信,UDP Socket通信2综合1必做掌握TCP Socket通信,熟悉UDP Socket通信注:总上机学时为 16学时。上机类型:演示/验证/综合/设计,上机要求:必做/选做。四、实验报告要求上机实验题有详细的实验训练目标、内容和要求。设计型和综合型实验,要求每位学生独立完成至少一个程序的编写和运行,写出实验报告。实验报告内容包括:题目、题意解释、题意分析、设计方案、流程描述、源程序清单、程序运行结果、程序存在问题和改进意见等。五、考核方式与成绩评定实验考核方式为考查。教师根据课程内容和安排,指定某章实验作为考核依据,检查每位学生的程序所实现的功能和运行情况。根据题目难度、程序功能、运行情况和实验报告质量综合评定实验成绩。成绩形式为百分制。六、推荐教材和教学参考书目与文献推荐教材:Java程序设计实用教程(第5版),叶核亚编著,电子工业出版社,2019年,“十一五”、“十二五”普通高等教育本科国家级规划教材,“十二五”江苏省高等教育重点教材。参考书目与文献:Java程序设计实用教程(第5版)习题解答和实验指导,叶核亚编著,校内讲义,2019年。大纲制订人:叶核亚制订日期:2019年 4月8日JAVA程序设计课程设计教学大纲课程名称:Java程序设计课程设计英文名称:Course Design of Java Programming学 分:1 设计周数:1周适用对象:计算机类专业本科先修课程:C/C+程序设计I、C/C+程序设计II(可选)、Java程序设计一、课程目标Java程序设计课程设计是巩固所学理论知识、积累程序设计经验、提高程序设计能力的重要实践环节。课程设计的目的是,使学生能够综合应用Java基础知识和基本方法,编写实用有效的应用程序,体会软件设计的全过程,深入理解和巩固所学知识,在实践中培养独立分析问题和解决问题的作风和能力,提高软件设计能力,为今后进行系统软件和应用软件的开发研究打下坚实基础,培养刻苦钻研精神和严谨的治学作风。二、选题要求课程设计选题的功能要求说明如下:(1)采用Swing组件设计图形用户界面,使用组件数组;使用菜单;(可选)使用多文档界面。(2)响应事件。(3)处理异常,当输入数据错误时,弹出对话框,提示重新输入信息。(4)(可选)使用线程演示算法执行过程中数组或其他变量数据的动态变化情况。(5)从指定文件中读取原始数据,并将运算结果写入文件。使用带有过滤器的打开和保存文件对话框选择文件名。说明采用什么格式文件,采用什么流,比较多种格式文件的操作区别。(6)(可选)实现基于Socket通信的网络应用程序。三、任务及要求课程设计的任务是,综合运用Java语言的基础知识和面向对象设计的基本原则,独立编制一个具有中等规模的、一定难度的、解决实际问题的应用程序。本课程设计的要求是,选择具有一定实际意义的课题,设计具有图形用户界面的、能够响应事件、能够处理异常的Java应用程序,并包含线程、流、文件操作、Socket通信等技术。通过题意分析、方案设计、编制程序、运行和调试程序、软件测试、结果分析等环节完成软件设计的全过程。课程设计选题详见课程主教材和课程设计任务书。由教师检查验收,通过者撰写课程设计报告。课程设计报告内容包括:设计目的、题目说明、题意分析、设计特点、设计方案、功能说明、实现手段、流程描述、源程序清单、运行结果及结果分析、设计经验和教训总结、存在问题及改进措施等。撰写要求包括条理清晰、内容详细、分析全面、格式规范。四、进程安排序号内 容时间(天)教学目标1教师提出课题范围、要求及选题。学生查阅资料,确定题目。2周之前根据题目要求,查阅有关资料,完成系统功能设计。2学生写程序草稿,调试运行,修改程序。1.5天达到课程设计基本功能要求。3教师检查验收;学生修改并完善程序,测试多种运行结果。2.5天根据程序运行结果,评定课题完成质量,给出考核课题质量分。4学生对课程设计软件系统进行优化,总结课程设计的成果和不足,撰写课程设计报告。1天总结课程设计,撰写符合规范要求的课程设计报告。5教师验证学生程序,批改设计报告。设计周之后教师评定报告质量分,给出课程设计成绩。合 计5天五、课程考核与成绩评定课程设计的考核方式为考查。教师检查每位学生的课题完成质量,包括程序所实现的功能和运行情况;再根据题目难度、程序功能、运行情况和课程设计报告质量等因素综合评定课程设计成绩。成绩形式:百分制,或五级计分制(优秀、良好、中等、及格和不及格)。六、推荐教材和教学参考书目与文献推荐教材:Java程序设计实用教程(第5版),叶核亚编著,电子工业出版社,2019年,“十一五”、“十二五”普通高等教育本科国家级规划教材,“十二五”江苏省高等教育重点教材。大纲制订人:叶核亚制订日期:2019年 4月8日Java程序设计课程实验题叶核亚授课对象:计算机类各专业(2017级起)教材:Java程序设计实用教程(第5版)第6章 图形用户界面设计实验目的、要求和题意详见教材实验6。选题分配如下。(1) 按钮、文本行、文本区等基础组件6-1 计算多种平均值,使用文本行数组或表格,详见实验题6-42。6-2 计算加权平均值,使用文本行数组或表格,详见实验题6-43。6-3 计算器,使用按钮数组,详见实验题6-44。6-4 科学计算器,使用按钮数组,详见实验题6-44。6-5 合成颜色值,使用文本行数组,详见实验题6-45。6-6 随机数序列查找重复值,详见实验题6-48;使用线程实现动态演示,如补图6-1所示。补图6-1 随机数序列动态演示,查找重复值6-7 整数进制转换,详见实验题6-46图6-30a。6-8 int整数及负数进制转换,详见实验题6-46图6-30b。6-9 选择整数计算,详见实验题6-47。(2) 列表框和组合框组件6-10 算术运算器,详见实验题6-49。6-11 复数运算器,详见实验题6-50。6-12 整数的算术运算及二进制显示,详见实验题6-51图6-35a。6-13 整数的位运算及二进制显示,详见实验题6-51图6-35b。6-14 车牌号的添加与查找,详见实验题6-52。6-15 日期运算,制作一种日期组件和月历组件,详见实验题6-54。6-16 随机数序列排序,详见习题解答补充实验题6-22。6-17 集合运算,详见实验题6-53。6-18 Person对象信息管理,例6.4增加功能,详见实验题6-55。6-19 Student对象信息管理,详见实验题6-56。6-20 文本编辑器,例6.5增加功能,详见实验题6-57。(3) 使用表格显示结果,表格行列数可变。6-21 字符串编码查询器,详见实验题6-58。6-22 判断Java关键字,详见实验题6-71,如补图6-2所示。补图6-2 判断Java语言的关键字6-23 计算月工资,详见实验题6-59。6-24 计算月工资及个人所得税,详见实验题6-60。6-25 外币兑换计算器,详见实验题6-61。6-26 计步器,详见实验题6-62。6-27 计算素数,详见实验题6-63;使用线程实现动态演示,如补图6-3所示。补图6-3 计算素数,表格动态演示6-28 幻方,详见例2.6和实验题6-64;使用线程实现动态演示,详见实验题7-27图7-18。6-29 螺旋方阵,详见实验题2-30。使用线程实现动态演示,详见实验题7-27图7-19。6-30 杨辉三角,详见例2.8;使用线程实现动态演示,如补图6-4所示。补图6-4 杨辉三角动态演示6-31 循环移位方阵,详见实验题2-26;使用线程实现动态演示。6-32 二维数组找鞍点,详见实验题2-29;使用线程实现动态演示。6-33 下标和相等方阵,详见实验题2-31;使用线程实现动态演示。6-34 约瑟夫环,详见实验题2-28;使用线程实现动态演示,界面和要求类似杨辉三角题。6-35 哥德巴赫猜想,详见实验题2-21。6-36 Smith数,详见实验题2-22。6-37 亲密数对,详见实验题2-23。6-38 输出n个元素的无重复全排列(递归方法);使用线程实现动态演示。例如,数据集合1, 2, 3的无重复全排列如下: 123 132 213 231 312 3216-39 计算银行贷款,例6.6增加功能,详见实验题6-66。6-40 随机数序列计算和排序,详见习题解答补充实验题6-23;使用线程实现排序的动态演示。6-41 随机数序列分段统计,详见习题解答补充实验题6-24;使用线程实现排序的动态演示。6-42 电话簿,Friend对象信息管理,详见实验题6-67。6-43 使用表格实现Person对象信息管理,详见实验题6-68。6-44 使用表格实现Student对象信息管理,详见实验题6-69。6-45 车辆信息管理,详见实验题6-70。(4) 图形设计6-46 绘制平面图形并计算周长和面积,详见实验题6-73。6-47 阿基米德螺线图形设计,详见实验题6-74,使用线程实现动画。6-48 星形线图形设计,详见实验题6-74,使用线程实现动画。6-49 心形线图形设计,详见实验题6-74,使用线程实现动画。6-50 对数螺线图形设计,详见实验题6-74,使用线程实现动画。6-51 双曲螺线图形设计,详见实验题6-74,使用线程实现动画。6-52 伯努利双纽线图形设计,详见实验题6-74,使用线程实现动画。6-53 绘制多叶玫瑰线,详见实验题6-75,使用线程实现自动播放。6-54 绘制立体图形,长方体,详见实验题6-76。6-55 绘制立体图形,椭圆柱,详见实验题6-76。6-56 绘制立体图形,三棱柱,详见实验题6-76。6-57 绘制立体图形,五棱柱,详见实验题6-76。6-58 绘制立体图形,圆椎体,详见实验题6-76。第7章 多线程编程7-1 弹弹球,详见实验题7-29。7-2 月食动画设计,详见实验题7-31。7-3 升旗动画设计,详见实验题7-32。7-4 多窗口交通信号灯的图形动画设计,详见实验题7-34。- 3 -南 京 工 程 学 院2018/2019学年第2学期授课计划 课 程 Java程序设计 专 业 数据科学与大数据技术 教 师 叶核亚 班 级 大数据2018级 本课程总时数 64 本学期总时数 64 本学期讲课时数 48 本学期周学时数 4 本学期上机时数 16 本学期实验时数 教研室主任 系(部)主任 制定日期 2019 年 2月24日学期授课计划编写说明一、 学期授课计划是教师落实教学大纲要求,安排教学方式、教学内容和进度的具体计划。二、 学期授课计划由任课教师根据教学大纲、教学进程表与课程表逐项认真填写:“需要时数”按课程表所安排的每次授课学时填写;“授课性质”栏填写课堂讲授、实验、课堂讨论、参观等;课外作业应落实到题号或题目类型及题数。实践性教学环节由系部根据教学计划和授课计划定期按阶段排入实践性课表。三、 本学期课内上机时数和实验时数应分别填写在封面上,实验时数中不含上机时数。四、 严格审批制度,任课教师于学期结束前一周完成下学期的学期授课计划的制定工作,经教研室主任及系主任审查批准后执行。学期授课计划一式三份,一份存任课教师,一份存教研室,一份存主管系部。五、 经批准后的学期授课计划,不得随意变动。确需修改的需经系主任同意,并报教务处备案。授课顺序需用时数授课性质授 课 或 实 验 内 容 摘 要课外作业12课堂讲授第1章 Java概述(2学时) 1.1 了解Java 1.2 JDK 1.3 MyEclipse习题1 实验1 22课堂讲授第2章 Java语言基础(4+2学时) 2.1 语言成分 2.3 数组习题2-12-13,实验2-12-332课堂讲授 2.4 静态方法 2.5 字符串习题2-142-18,实验2-42-1842上机实验1 Java语言基础(验证型)52课堂讲授第3章 类的封装、继承和多态(8+2学时) 3.1 类和对象 3.2 类的封装性习题3-13-14,实验3-13-362课堂讲授 3.3 类的继承性习题3-153-18,实验3-472课堂讲授 3.4 类的多态性习题3-193-27,实验3-53-682课堂讲授 3.5 类的抽象性习题3-283-3392上机实验2 面向对象设计(设计型)102课堂讲授第4章 接口、内部类和Java API基础(6+2学时) 4.1 接口 4.2 内部类和内部接口习题4-14-6,实验4-14-2112课堂讲授 4.3 Java API基础 4.3.1 java.lang包中的基础类库 4.3.2 java.util包中的工具类库习题4-74-16,实验4-34-6122课堂讲授 4.4 泛型习题4-174-18132上机实验3 接口和内部类(验证型)142课堂讲授第5章 异常处理(2学时) 5.1 异常处理基础 5.2 异常处理措施习题5实验5152课堂讲授第6章 图形用户界面设计(8+4学时)6.1 AWT组件及其属性类6.2 事件处理习题6-16-17162课堂讲授6.3 Swing组件及事件 6.3.1 Swing组件与布局 6.3.2 文本显示和编辑组件 6.3.3 按钮组件习题6-186-26,实验6-16-6172上机实验4 图形用户界面设计与事件处理(设计型)182课堂讲授 6.3.4 列表框和组合框 6.3.7 菜单组件习题6-186-26,实验6-76-13192课堂讲授 6.3.8 表格 6.4 图形图像习题6-36,实验6-146-29202上机实验5 使用Swing组件设计图形用户界面(设计型)212课堂讲授第7章 多线程编程(4+2学时) 7.1 操作系统中的进程与线程 7.2 Java的线程对象习题7-17-11,实验7-17-10222课堂讲授 7.3 线程互斥和线程同步习题7-127-24,实验7-117-14232上机实验6 多线程编程(设计型)242课堂讲授第8章 流和文件操作(6+2学时)8.1文件和目录8.2 字节流习题8-18-10,实验8-18-4252课堂讲授8.3 字符流习题8-118-13,实验8-58-9262课堂讲授8.4 文件操作习题8-148-15,实验8-10272上机实验7 流和文件操作(设计型)282课堂讲授第9章 Socket通信(4+2学时)9.1 Socket通信基础9.2 TCP Socket通信习题9-19-8,实验9-1292课堂讲授9.3 UDP数据报通信习题9-9,实验9-2302上机实验8 Socket通信(综合型)312课堂讲授第12章 综合应用设计12.1 Java集合框架12.2 反射322课堂讲授12.3 使用复杂Swing组件Java程序设计课程设计题叶核亚授课对象:计算机类各专业(2017级起)教材:Java程序设计实用教程(第5版)第12章 综合应用设计12.5 课程设计选题选题说明如下,题意说明详见教材12.5节。1. 图形用户界面、文件(1) 列表框和组合框12-1* 集合存储与运算。12-2* Person对象信息管理。12-3* Student对象信息管理。12-4 文本文件编辑器。12-5* Java源程序编辑器。(2) 表格12-6 计算银行贷款增加功能。12-7 统计获奖名单。12-8* 随机数序列计算和排序,例8.2增加功能,图见习题解答实验题6-23。12-9* 矩阵存储与运算。12-10* 计算工资及所得税。12-11 银行外币兑换记录。12-12 计步器。 12-13* 按姓氏分类的电话簿。12-14* 手机信息管理。12-15* Person对象信息管理的分类浏览和统计。12-16* Student对象信息管理的分类浏览和统计。12-17* 学生课程成绩多级统计。12-18* 车辆信息管理按省份分类浏览。12-19* 单项选择题机考和自动批阅。12-20* 诗词库。12-21* 图书信息管理。(3) 画图 12-22* 拖动鼠标随意画线,集合,对象文件。12-23 绘制曲线。12-24 绘制立体图形。12-25* 制作画图程序。2. 多线程编程、文件12-26 幻方。 12-27 判断幻方阵。 12-28* 多叶玫瑰线自动播放。12-29* 随机运动的彩色弹弹球。12-30* 弹弹球穿越窗口。12-31* 荷塘夜降彩色雨。12-32* 多窗口绘制曲线。12-33* 同步画图。12-34* 饥饿小鱼。3. 文件列表、文件12-35* 音乐播放器的文件列表。12-36* 文件管理器。4. Socket通信,文件12-37* 基于TCP Socket通信的裁判评分。12-38* 基于Socket通信的外币兑换及统计。12-39* 基于Socket通信同步幻方。12-40* 基于Socket通信的对弈幻方。 12-41* 基于Socket通信的商店POS系统。12-42* 基于TCP Socket通信的同步随意画线。12-43* 基于Socket通信的同步绘制曲线。12-44* 基于Socket通信的点对点聊天室。12-45* 基于Socket通信的多人聊天室。5. 多文档界面,文件12-46* 多文档界面的文本文件编辑器。12-47* 采用多文档界面的Java源程序编辑器。12-48* 采用多文档界面的手机信息管理。12-49* 采用多文档界面的Person对象信息管理与统计。12-50* 采用多文档界面的Student对象信息管理与统计。6. 树、文件12-51* 电话簿采用关系树分类浏览。12-52* 车辆信息管理采用省市树分类浏览。12-53* 音乐播放器的文件列表采用国家、歌手树分类浏览。12-54* 采用分类树的Student对象信息管理与统计。7. 算法设计、文件12-55 二十四点牌戏问题。12-56* 九宫排序。12-57* 走迷宫。12-58* 骑士游历。12-59* 连珠五子棋。12-60* 斯诺克台球比赛模拟。8. 补充以下各题见习题解答第12章。12-61 随机数序列排序。12-62 随机数序列分段统计。12-63 * 基于Socket通信的选举投票统计。12-64 * 基于Socket通信的考试及批卷。12-65 * 基于Socket通信的批阅试卷。以下题意见第2章实验题,要求同12-26幻方题。12-66 哥德巴赫猜想。12-67 杨辉三角。12-68 循环移位方阵。12-69 螺旋方阵。12-70 下标和相等的方阵。12-71 约瑟夫环。- 3 -南京工程学院课程设计任务书 课 程 名 称 Java程序设计课程设计 院(系、部、中心) 计算机工程学院 专 业 数据科学与大数据技术 班 级 大数据2018级 起 止 日 期 2019.6.242019.6.28 指 导 教 师 叶核亚 1课程设计目的Java程序设计课程设计是巩固所学理论知识、提高程序设计能力的重要实践环节。课程设计的目的是,使学生能够综合应用Java基础知识和基本方法,编写实用有效的应用程序,体会软件设计的全过程,深入理解和进一步巩固所学知识,培养自学能力,培养独立分析问题和解决问题的作风和能力,提高软件设计能力,为今后进行系统软件和应用软件的开发研究打下坚实基础,培养刻苦钻研精神和严谨的治学作风。2课程设计任务及工作量的要求包括课程设计计算说明书、图纸、实物样品等要求课程设计的任务是,综合运用Java语言的基础知识和面向对象设计的基本原则,独立编制一个具有中等规模的、一定难度的、解决实际问题的应用程序。本课程设计的要求是,选择具有一定实际意义的课题,设计具有图形用户界面的、能够响应事件、能够处理异常的Java应用程序,并包含线程、流、文件操作、网络通信等技术。进行课题的需求分析、设计方案准备、编程、运行、调试、完善等软件设计的各环节,程序必须运行通过,对于各种输入数据,有明确的不同的输出结果。程序运行有错误时,必须采取各种调试手段排除错误。由教师检查验收,通过者撰写课程设计报告。课程设计报告包括设计目的、题目说明、题意分析、设计特点、设计方案、功能说明、实现手段、源程序清单、运行结果及结果分析、设计经验和教训总结、存在问题及改进措施等。3课程设计题目及要求课程设计选题的功能要求:(1)采用Swing组件设计图形用户界面,使用组件数组;使用菜单;(可选)使用多文档界面。(2)响应事件。(3)处理异常,当输入数据错误时,弹出对话框,提示重新输入信息。(4)(可选)使用线程演示算法执行过程中数组或其他变量数据的动态变化情况。(5)从指定文件中读取原始数据,并将运算结果写入文件。使用带有过滤器的打开和保存文件对话框选择文件名。使用字节流和字符流,说明采用什么格式文件,采用什么流,比较多种格式文件的操作区别。(6)(可选)实现基于Socket通信的网络应用程序。课程设计选题见附件,题意详见教材12.5节及习题解答,每班每人不同题,每人选题与实验6不同。4主要参考文献Java程序设计实用教程(第5版),叶核亚编著,电子工业出版社,2019年。Java程序设计教程(第2版),雍俊海编著,清华大学出版社,2007年。Java2实用教程(第3版),耿祥义编著,清华大学出版社,2006年。Java程序设计,许满武主编,高等教育出版社,2006年。5课程设计进度安排日期和时间工 作 内 容设计之前4周周一周二周三周四周五设计周之后教师提出课题范围及要求,学生查阅资料,确定选题。学生写程序草稿,调试运行,修改程序。教师检查验收;学生修改并完善程序,测试多种运行结果。学生撰写设计报告。教师验证学生程序,批改设计报告。6成绩考核办法根据题难度、程序功能、运行情况和课程设计报告为依据进行考核。成绩按分优、良、中、及格和不及格五级计分,或百分制计分。教研室审查意见:教研室主任签字: 年 月 日院(系、部、中心)意见:主管领导签字: 年 月 日- 3 -Java程序设计课程单元测验及答案2019-2020-1学期 叶核亚教 材:Java程序设计实用教程(第5版),叶核亚编著,电子工业出版社。 本卷适用于软件工程等计算机类各专业2017级起。试题范围:第28章。5-0 单元测验一、 程序设计题(100分)(1) 第2章,20分1. 螺旋方阵将从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。例如,4阶螺旋方阵如右所示,实现以下方法。public static int helixPhalanx(int n) /返回存储螺旋方阵的二维数组【答】 螺旋方阵,存储结构和数据。public static int helixPhalanx(int n) int mat = new int nn, i, j, k=0; for (i=0; i(n+1)/2; i+) for (j=i; j=n-i-1; j+) matij = +k; for (j=i+1; j=i; j-) matn-i-1j = +k; for (j=n-i-2; j=i+1; j-) matji = +k; return mat;2. RMB人民币类 /实验题2-7,课件答,答及应用见例6.3。5-0单元测验。声明RMB人民币类如下,实现其中成员方法。public class RMB /人民币类 /返回金额x的中文大写形式字符串,例如,x=123.45,转化为“壹佰贰拾叁元肆角伍分” public static String toString(double x) 【答】public class RMB /人民币类 public static String toString(double x) /返回金额x的中文大写形式字符串 String yuan=亿千百拾万千百拾元角分; String digit=零壹贰叁肆伍陆柒捌玖; String result=; int y=(int)(x*100); /浮点数扩充100倍后取整(保留两位小数) /以下从y的低位到高位,每次获得y个位转换成中文金额,连接成字符串 for (int i=yuan.length()-1; y0 & i0; i-, y/=10) result = +digit.charAt(y % 10)+yuan.charAt(i)+result; return result; (2) 第3章,20分3. 子类隐藏父类实例成员变量。 /第3章课件【练习题1】题答阅读程序,回答问题。(10分)public class Person private String name; public Person(String name) = name; public String toString() return ; public class Student1 extends Person private String name; public Student1(String name) super(name); public String toString() return ; public static void main(String args) Student1 s1 = new Student1(李小明); System.out.println(s1=+s1.toString(); Student1类的name与Person类的name是什么关系? _ Student1类的toString()方法与Person类的toString()方法是什么关系?_ 在main()方法中,s1.toString()在_时确定执行_类的toString()方法。为什么?_ 运行结果是什么?_为什么?_ Student1类的toString()方法与Person类的toString()方法声明和实现相同。当Student1类省略toString()方法时,运行结果是什么?_为什么?_ 修改Student1类toString()方法体如下,查看Person类的name和Student1类的name值。_ 如果Student1类希望为自己类中声明的name进行赋值,应该如何修改?【答】 隐藏。(1分) 覆盖。(1分) 编译时;Student1类;因为方法的调用对象s1引用的是Student1类实例。(2分) s1=null,及解释(2分)解释因为,Student类声明name成员变量与父类name成员变量同名,Student类中有两个name成员变量:和,隐藏了。Student(name)构造方法通过super(name)语句调用父类构造方法Person(name),其中指Person类声明的name,相对于Student类则是;Java默认为Student类的赋值为null,如图3.1所示。而调用s1.toString()语句,执行Student类的toString()方法,其中指Student类声明的name成员变量,它的值为null。图5.1 Student1类隐藏Person父类name实例成员变量 s1=李小明,及解释(2分)解释因为,调用s1.toString()语句,执行父类的toString()方法,其中指Person类声明的name,前述构造方法已为其赋值,如图3.1所示。实际上,此处Student类使用的是Person类声明的name,而非Student类声明的name。 return super.toString()+,+; (1分)解释以下语句不行,因为父类的name声明为private,子类没有name的访问权限。return +,+; /语法错,子类没有name的访问权限 将构造方法中的语句修改成如下:(1分) = name; 4. 声明Rectangle矩形类。 /例3.7,课件声明Rectangle矩形类如下,继承闭合图形抽象类,实现其中成员方法。/矩形类,继承闭合图形抽象类;继承祖先类Figure的point1表示矩形左上角点坐标public class Rectangle extends ClosedFigure protected int length, width; /矩形的长度和宽度 public Rectangle(Point point1, int length, int width)/参数分别指定矩形左上角点、长度和宽度 public Rectangle(Point point1, Point point2) /参数指定矩形左上角点和右下角点坐标 public Rectangle(int x1,int y1, int x2,int y2) /(x1,y1)、(x2,y2)指定矩形左上角和右下角点坐标 public Rectangle() public Rectangle(Rectangle rec) /拷贝构造方法 public String toString() /对象描述字符串,包括点位置、长度、宽度属性 【答】/矩形类,继承闭合图形抽象类;继承祖先类Figure的point1表示矩形左上角点坐标public class Rectangle extends ClosedFigure protected int length, width; /矩形的长度和宽度 /构造方法,参数分别指定矩形左上角点坐标、长度和宽度 public Rectangle(Point point1, int length, int width) super(矩形, point1); this.length = length; this.width = width; /构造方法重载,参数指定矩形左上角点和右下角点坐标 public Rectangle(Point point1, Point point2) this(point1, Math.abs(point2.x-point1.x), Math.abs(point2.y-point1.y); /构造方法重载,参数(x1,y1)、(x2,y2)指定矩形左上角和右下角点坐标 public Rectangle(int x1,int y1, int x2,int y2) this(new Point(x1,y1), Math.abs(x2-x1), Math.abs(y2-y1);/Math.abs(x)返回x的绝对值/ this(new Point(x1,y1), new Point(x2,y2); /也可 public Rectangle() this(new Point(),0,0); public Rectangle(Rectangle rec) /拷贝构造方法 this(rec.point1, rec.length, rec.width); public String toString() /对象描述字符串,包括点位置、长度、宽度属性。覆盖,扩展功能 return (左上角点+super.toString()+,长度+this.length+,宽度+this.width+); public double perimeter() /计算矩形周长,实现父类的抽象方法 return (this.width+this.length)*2; public double area() /计算矩形面积,实现父类的抽象方法 return this.width*this.length; (3) 第4章,20分5. 例3.7的ClosedFigure闭合抽象类按面积比较对象大小。 /课件答【答】见5-0样卷编程题1。6. 为Student类声明学号比较器类,按学号比较Student对象大小。/思考题4-6,课件答【答】public class CompareNumber implements java.util.Comparator /学号比较器类 public int compare(Student str1, Student str2) /按学号比较Student对象大小 return pareTo(str2.number); (4) 第6章,20分7. 设计整数算术运算器图形用户界面如图所示,要求: 采用Swing组件,使用文本行数组输入数值和显示结果(不可编辑),使用组合框选择运算符,单击窗口关闭按钮,关闭窗口。 事件处理,单击“=”按钮,显示计算结果。识别整数或浮点数,浮点数不作%运算。异常处理,除数为0,数值格式。 /课件题,没给答案。 【答】import java.awt.*; /导入AWT包import java.awt.event.*;import javax.swing.*;/算术运算器框架类,继承框架类;关闭窗口,响应动作事件public class ArithOperJFrame extends JFrame implements ActionListener private JTextField texts; /文本行数组,操作数和运算结果 private JComboBox combox; /组合框,算术运算符 private JButton button; private String operators=+,-,*,/,%; /算术运算符 public ArithOperJFrame() super(算术运算器); this.setSize(460,100); this.setLocation(200,200); this.setBackground(Color.lightGray); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.getContentPane().setLayout(new FlowLayout(); /流布局 this.texts = new JTextField3; /文本行数组,2个操作数和1个运算结果 for (int i=0; ithis.texts.length; i+) this.textsi = new JTextField(,6); /文本行 this.getContentPane().add(this.textsi); this.textsthis.texts.length-1.setEditable(false); /只能显示,不允许编辑 box = new JComboBox(operators); /组合框,默认不可编辑 this.getContentPane().add(box,1); this.button = new JButton(=); this.getContentPane().add(button,3); this.button.addActionListener(this); /按钮注册单击事件监听器 this.setVisible(true); public void actionPerformed(ActionEvent e) /动作事件处理方法,单击按钮 try int x = Integer.parseInt(this.texts0.getText(); int y = Integer.parseInt(this.texts1.getText(); switch (box.getSelectedIndex() /获得组合框选中序号 case 0: x+=y; break; /+ case 1: x-=y; break; /- case 2: x*=y; break; /* case 3: if (y!=0) /“/”,整数除 x/=y; break; else JOptionPane.showMessageDialog(this, 除数为0,不能计算。); this.textsthis.texts.length-1.setText(); return; case 4: x%=y; break; /%,取余数 this.textsthis.texts.length-1.setText(x+); catch (NumberFormatException nfex) try double x = Double.parseDouble(this.texts0.getText(); double y = Double.parseDouble(this.texts1.getText(); switch (box.getSelectedIndex() /获得组合框选中序号 case 0: x+=y; break; /+ case 1: x-=y; break; /- case 2: x*=y; break; /* case 3: if (y!=0) /“/”,整数除 x/=y; break; else JOptionPane.showMessageDialog(this, 除数为0,不能计算。); this.textsthis.texts.length-1.setText(); return; case 4: JOptionPane.showMessageDialog(this, 浮点数不能进行%运算。); this.textsthis.texts.length-1.setText(); return; this.textsthis.texts.length-1.setText(x+); catch (NumberFormatException ex) JOptionPane.showMessageDialog(this,字符串不能转换成浮点数。); finally public static void main(String arg) new ArithOperJFrame(); (5) 第7章,10分8. 九九乘法表增加动态显示,实现Runnable接口。以下程序采用表格显示九九乘法表,运行窗口如图所示,输入sleeptime时间,单击“计算”按钮,在表格中动态显示计算结果,每显示一个数停顿sleeptime毫秒。处理异常,弹出对话框显示错误信息或异常信息。修改完善程序,实现动态显示功能。import java.awt.event.*;import javax.swing.*;import javax.swing.table.*;public class ThreadMulti99JFrame extends JFrame implements ActionListener protected JPanel cmdpanel; private JTextField text; private DefaultTableModel tablemodel; private int sleeptime; public ThreadMulti99JFrame() super(九九乘法表动态显示); this.setBounds(300,240,420,280); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.cmdpanel = new JPanel(); this.getContentPane().add(cmdpanel, North); this.cmdpanel.add(new JLabel(sleeptime); this.cmdpanel.add(this.text=new JTextField(100,6); this.text
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:[Java程序设计实用教程(第5版)][叶核亚][配套练习题]
链接地址:https://www.renrendoc.com/p-81155647.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!