《Java语言程序设计实验》教学大纲
Experiments of Java Programming
课程代码:XF002003学时:32学分:1
适用专业:课程性质:选修
撰稿人:张继军审定人:王鲁
一、实验课的性质与任务
Java程序设计课程是一门理论和实践相结合的课程,不仅仅要注重理解基本知识,更要注重培养软件设计的基本技能。实践性环节是巩固所学理论知识、使理论与实际相结合、提高程序设计能力和计算机操作能力的一项必不可少的重要环节。因此,习题课、课后习题、上机实验和课程设计等都是加强程序设计训练所必需的。
二、实验目的与要求
通过上机实验,训练学生计算机操作的基本技能,培养学生独立分析问题和解决问题的能力,从而达到理论联系实际的目的,使学生真正掌握所学的理论知识,并把基本概念和原理运用到工程实际中去。学生应能够独立完成小的应用程序的设计。
三、实验项目设置情况
序号 | 实验项目名称 | 学时 | 开出要求 | 实验项目类型 |
必做 | 选做 | 基础型 | 综合设计 | 研究创新 |
演示 | 验证 |
1 | Java入门程序设计 | 2 | Ö |
| | | Ö | |
2 | Java输入、输出以及基本程序设计 | 2 | Ö |
|
|
| Ö |
|
3 | 分支语句与分支程序设计 | 2 | Ö | | | | Ö | |
4 | 循环语句与循环程序设计 | 2 | | | | | | |
5 | Java数组及其应用 | 2 | Ö | | | | Ö | |
6 | Java类设计与对象的创建(1) | 2 | Ö | | | | Ö | |
7 | Java类设计与对象的创建(2) | 2 | Ö | | | | Ö | |
8 | 类的组合设计与应用 | 2 | Ö | | | | Ö | |
9 | 类的继承设计与应用 | 2 | Ö | | | | Ö | |
10 | Java抽象类和接口设计与应用 | 2 | Ö | | | | Ö | |
11 | 类的综合设计与应用 | 2 | Ö | | | | Ö | |
12 | Java常用类与使用 | 2 | Ö | | | | Ö | |
13 | 异常类处理 | 2 | Ö | | | | Ö | |
14 | java集合类操作 | 2 | Ö | | | | Ö | |
15 | 输入/输出流和文件操作 | 2 | Ö | | | | Ö | |
16 | 图形用户界面设计 | 2 | Ö | | | | Ö | |
四、各实验项目教学内容
实验项目一:Java入门程序设计2学时
(一)实验目的要求
(1)理解和掌握java语言的开发环境,并可以进行简单程序的设计与开发。
(2)掌握Java程序的开发过程、步骤。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
(1)编写一个华氏温度与摄氏温度之间的转换程序,转换公式为:F=9/5×C+32及C=5/9(F-32);其中,F:华氏温度;C:摄氏温度。
(2)求方程AX+B=0的解。当提供A,B的值后,输出该式子,例如,当A=3,B=4, 输出:3X+4=0,并输出方程的解。
(3)求任意一个三角形的面积?
(4)计算任意两点之间的距离?
实验项目二:Java输入、输出以及基本程序设计2学时
(一)实验目的要求
(1)理解和掌握Java的输入方法
(2)理解和掌握Java的输出方法
(3)理解和掌握Java程序的基本结构。
(4)理解什么是静态方法,如何使用。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
(1)提供一个正实数,计算并打印出其平方值、平方根、立方值,结果保留小数点后2位数字(4舍5入)。
(2)数字提取:任给一个整数,输出各位数据,并计算各个位的和值。
(3)任意给一个整数,将其形成一个逆序数据,并输出。
例如:12345---》54321, 5430--》345
(4)闰年判定:编写一个程序,判定并报告某年是否闰年。闰年是指年数符合下例两者之一:
①能被4整除,但不能被100整除
②能被4整除,又能被400整除
实验项目三:分支语句与分支程序设计2学时
(一)实验目的要求
掌握分支语句的使用:if语句、if else语句、if elseif else、情况语句、分支语句的嵌套。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
1.输入包括两个运算量和一个运算符(+、-、*、/)的算术表达式,计算并输出运算结果。
2.输入年份和月份,输出该月的天数。
3.任意输入3条边的边长,计算三角形的面积(需要判定输入的三边是否可以构成三角形)。
实验项目四:循环语句与循环程序设计2学时
(一)实验目的要求
掌握循环语句的使用:while循环、do_while循环、for循环、循环嵌套。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
1.分别用for、while和do-while三种循环语句计算一个正数的阶乘。
2.设计程序,从输入数据中统计正整数和负整数的个数.用输入0来结束输入。
3.已知某年某月某日,计算该日是该年的第几天。
实验项目五:Java数组及其应用2学时
(一)实验目的要求
(1)理解和掌握一维数组的定义和使用。
(2)理解和掌握二维数组的定义和使用。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
1.求一数组中的最大值与最小值。
2.求二数组中的最大值与最小值。
3.输入10个数,并按有小到大排序输出,然后再输入一个数据,插入已排好序的数组中,插入后仍然是有小到大排序。
4.设某一个班共有N(N=20)名学生,期末考试5门课程,请编一程序评定学生的奖学金,要求打印输出一、二等奖学金学生的学号、姓名和各门课成绩。(奖学金评定标准是:总成绩超过全班总平成绩20%发给一个奖学金,超过全班总平成绩10%发给二个奖学金。)
5.体操运动员参加自由体操决赛,有10个评委为他们打分。选手的成绩计算方法是:10个评委分数中,去掉一个最高分和一个最低分,余下分数的平均值为选手的最后得分。假设有20名选手。
要求,计算出每个选手的成绩,并给出名次,输出格式如下:
名次姓名评委成绩1绩(10个成绩依次列出)最终得分
实验项目六:Java类设计与对象的创建(1)2学时
(一)实验目的要求
理解和掌握类的设计以及对象的创建与使用。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
1.定义一个日期类,其中日期由年月日组成,该类支持以下操作
(1)判断是否是闰年(年被400整除或者被4整除同时不被100整除)
(2)显示日期
(3 )获取年月日的值
2.定义一个平面上的圆类(圆心和半径),该类支持以下操作:
(1)获得圆心和半径
(2)分别计算圆的周长、面积
(3 )设置圆心和半径
3.定义一个平面上矩形类(矩形的两个顶点),该类支持以下操作
(1)计算矩形的周长和面积
(2)读取、设置矩形的信息
4.定义直线类,该类封装以下操作
计算直线的斜率
实验项目七:Java类设计与对象的创建(2)2学时
(一)实验目的要求
理解和掌握类的设计以及对象的创建与使用。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
1.设计程序,计算两个整数的和,两个复数的和,再计算两个圆的面积和,计算两个矩形的面积和,计算两个学生的年龄和。要输出必要的提示信息和结果信息。
2.设计类,分别完成:
定义一个点类,并计算其面积、周长;
定义一个圆类,并计算其面积、周长;
定义一个三角形类,并计算其面积、周长;
定义一个矩形类,并计算其面积、周长;
定义一个圆柱,并计算其表面积、体积;
定义一个立方体,并计算其表面积、体积;
并设计程序,实现有关的数据的运算,进行验证。
实验项目八:类的组合设计与应用2学时
(一)实验目的要求
理解和掌握类的组合设计与应用
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
1.利用组合关系,首先定义点类,然后定义圆类,再定于圆柱类。
2.利用组合关系,定义学生类,在定义班级类。
实验项目九:类的继承设计与应用2学时
(一)实验目的要求
理解和掌握类的继承设计方法。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
1.要求:设计类,分别完成:
定义一个点类,并计算其面积、周长;
继承点类,定义一个圆类,并计算其面积、周长;
继承圆类,定义一个圆柱类,并计算其表面积、体积;
再设计一个包含主方法的类,对设计的3个类进行测试。
2.定义一个矩形类,并计算其面积、周长;
继承矩型类,定义一个立方体,并计算其表面积、体积;
再设计一个包含主方法的类,对设计的2个类进行测试。
3.定义一个点类,然后利用点类再定义一个三角形类,最后定义主类,计算并输出三角形的面积、周长等有关信息。
实验项目十:Java抽象类和接口设计与应用2学时
(一)实验目的要求
理解什么是抽象类、什么是接口?如何设计抽象类、如何设计接口,如何实现接口类或抽象类的子类。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
1.设计一个图形抽象类,具有计算面积的方法。然后,继承该抽象类,创建圆类、矩形类,并且在继承类中有计算面积、周长、输出信息等有关的方法。再设计主类,计算任意5个圆的面积和,5个矩形的面积和。再计算任意个圆、矩形的面积和。
2.设计一个图形接口,具有计算面积的方法。然后,给出该接口的实现类,创建圆类、矩形类,并且在继承类中有计算面积、周长、输出信息等有关的方法。再设计主类,计算任意5个圆的面积和,5个矩形的面积和。再计算任意个圆、矩形的面积和。
实验项目十一:类的综合设计与应用2学时
(一)实验目的要求
在类设计的基础上,根据实际需要,开发一个简单的应用系统。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
假设某老师代了两种类型的学生:专科生和本科生。专科生的信息包括学号、姓名、英语成绩、数学成绩、计算机成绩和主修专业课。本课程的信息包括学号、姓名、英语成绩、数学成绩、计算机成绩和论文。
设计并编写成绩管理程序。
程序功能要求:
(1)计算每个学生的总成绩和平均成绩;
(2)计算所有学生总成绩和平均成绩。
技术要求:
(1)利用抽象类;
(2)设计测试类,生成若干个学生对象,分别计算他们的总成绩和平均成绩并显示。
实验项目十二:Java常用类与使用2学时
(一)实验目的要求
理解和掌握Java常用类的使用:Object类、String类和StringBuffer类、基本数据类型的对象类、Date与Calendar,DateFormat类、Math与Random类、System类与Runtime类。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
编写一个Java应用程序,实现如下功能:
(1)判断两个字符串是否相同:s1=”you are a student”,s2=”how are you”;
(2)判断字符串”22030219851022024”的前缀、后缀是否和某个字符串”220302”相同;
(3)按字典顺序比较两个字符串”你”和”我”的大小关系;
(4)将数字型字符串”100”和”123.678”转换为数字;
(5)将字符串”FEDCBA”存放到数组中,调用for循环读出数组数据显示在屏幕上。
实验项目十三:异常类处理2学时
(一)实验目的要求
理解和掌握异常处理方式以及它们的应用。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
1、设计一个具有数组越界的异常处理的程序,假设计算n个实数的和,用数组存放。分别采用3种异常处理方式设计程序。
2、从键盘任意输入n个实数,分别计算并输出其中正数的平均值和负数的平均值。需要考虑到可能出现的异常,并给出异常处理。分别采用3种异常处理方式设计程序。
实验项目十四:java集合类操作2学时
(一)实验目的要求
理解和掌握集合类及其使用方法。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
1.利用链表类及其顺序表类,完成一个学生成绩管理系统的设计。该题目要定义有关的类,定义类的方法和属性,再通过对象调用方法,完成所要求的功能。
(1)添加一个新学生: (通过键盘输入该学生的各信息)
(2)删除一个学生: (通过学号,删除学生信息)
(3)修改一个学生的信息:(通过学号,修改学生的信息,要输入或提供该学生的有关信息)
(4)查询一个学生并输出其有关信息:(通过学号,要查询学生,要输入或提供该学生的某项信息)
(5)显示出所有学生的信息: (按表格格式显示:由表头,并且一个学生显示一行)
2.利用List接口、ArrsyList类的,计算任意从键盘输入若干学生的成绩,当输入-1时,停止输入数据,计算这些数据的平均成绩,并输出高于平均成绩的值。
实验项目十五:输入/输出流和文件操作2学时
(一)实验目的要求
理解和掌握文件类、以及流类的使用与操作
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
1.将一个文本文件中信息直接输出在屏幕上。
2. 将一个文本文件中信息输出在屏幕上,在输出时,要将小写字母,变换为大写字母,再输出。
3.将给定的(或由键盘输入的)多个字符串(或字符),形成一个文本文件(形成的文件由多行构成)。
4.将一个文本文件实现复制,形成另一个文件。
5.将一个文本文件实现复制,形成另一个文件,在形成时,要将小写字母,变换为大写字母。
6.通过键盘输入,形成一个文本(字符)文件;
7.输入一个学生的信息,形成一个文件,在读出并显示在屏幕上。
实验项目十六:图形用户界面设计2学时
(一)实验目的要求
理解和掌握图形界面的设计,主要掌握各控件的使用。
(二)实验材料和仪器设备
每名学生在机房内有一台可以上网的计算机
(三)实验内容
1.要求设计一个窗口,在窗口上放置一个标签,显示“你好,这是我设计的第一个窗口”,当单击该窗口上的关闭按钮时,关闭该窗口,并结束程序。
2.设计一个如下的窗体,并完成相应的计算功能。
五、实验报告要求
对每个设计题目都给出设计报告,其格式内容包含如下内容:
1、设计题目与要求
2、系统分析
3、系统设计
4、系统实现
5、在开发设计中遇到的问题及其解决方法
6、总结
另外,必须将设计科运行的系统的源代码上传指定的服务器或邮箱。
六、课程考核方式及成绩评定
(一)考核方式
平时成绩:实验报告
结课后考试:闭卷考试
该课程与其理论课程同时考试,以同一个题目和评分要求给出。
(二)课程成绩评定办法
成绩构成:考勤20%//平时20%//考试60%
七、实验应配套的主要仪器设备及台(套)数(以一个实验教学班为标准)
每名学生需要一台计算机,且能够上网。
附:教学参考资料
1、选用的教材:
叶核亚编著,Java2程序设计教程(第2版),电子工业出版社,2006。
2、主要参考书:
[1] 刘宝林,Java程序设计与案例,高等教育出版社,2004。