资源描述
《Java语言程序设计V》课程
项目/实验 指导书
软件工程系
一:安装Java环境(课堂实践1)
(一)基本信息
通过本次实验,能让学生自主的安装Java的运行环境。学会安装JDK、Eclipse软件,并且学会配置环境变量。
1、类型:
□综合类 □ 设计类 □ 创新类 ■ 验证类
2、学时安排:
随堂实践2学时。
3、教学目标:
(1)掌握JDK、Eclipse软件的安装。
(2)掌握配置环境变量。
(二)组织形式
本项目在课上实施,教师对出现的问题或疑问进行解答。对完成情况进行点评,重点难点知识及共性问题进行集中讲解。对于学生感兴趣的问题进行扩展,引导学生发挥创意开发不同的实现方案。
(三)任务描述
学会安装JDK、Eclipse软件,学会配置环境变量。
(四)指导内容
1、相关知识:
(1)提前将JDK、Eclipse软件下载到本地机。
(2)Windows XP以上的操作系统。
2、过程与步骤:
创建项目可以如下进行操作:
1. 选择菜单“File(文件)”->“New(新建)”->“Project(项目)”,如果看不到“Project(项目)”这个菜单,可以在“Others(其它)”中找到。
2. 或者使用工具栏按钮,点击右面那个黑色小钮,选择“Project(项目)”菜单。
3. 打开“New Project”窗口后,选择“Java Project”项目类型,然后按“next”按钮。
选择它
下一步
图1.1 New Project界面
4. 进入“New Java Project”窗口后,输入项目名,然后按“Finish”按钮,我们就创建了一个Java项目。
我们创建好项目后,就可以在项目下创建Java代码文件了。
1. 在Package Explorer视图中,右键点击MyFirst项目,选择菜单菜单“File(文件)”->“New(新建)”->“Class(类)”。
2. 或者选中项目后,使用工具栏按钮,点击右面那个黑色小钮,选择“Class(类)”菜单。
3. 进入“New Java Class”窗口,输入类名,然后点“Finish”按钮。
完成
输入类名
图1.2 New Java Class界面
在Package Explorer视图中,我们看到MyFirst项目下有了一个新的Java文件-- MyFirstClass.java。
(五)成果提交
教师检查。
(六)考核方式与标准
实验不作为考核项
10
二:基本数据类型和控制语句(课堂实践2)
(一)基本信息
本篇的实践主要是对常量、变量、输入输出、基本数据类型进行应用,以及对循环语句、跳转语句进行上机练习。
1、类型:
■综合类 □设计类 □ 创新类 □ 验证类
2、学时安排:
本模块需要课上2学时来完成,具体如下:
运算符、控制语句综合应用:2学时
3、教学目标:
(1)掌握运算符的运算原则。
(2)掌握条件语句、循环语句的编程方法。
(二)组织形式
本项目在课上实施,学生随堂实践。每名学生单独完成所有操作。教师对出现的问题或疑问进行解答。对完成情况进行点评,重点难点知识及共性问题进行集中讲解。对于学生感兴趣的问题进行扩展,引导学生发挥创意开发不同的实现方案。
(三)任务描述
(1)对变量、常量进行编程应用;
(2)对条件语句、循环进行应用。
(四)指导内容
1、相关知识:
(1)if、if-else语句。
(2)for、while、do-while语句。
(3)switch、break语句。
2、过程与步骤:
(1)练习变量、常量定义,输入输出,数据类型之间的转换
1. 已知int x=2,y=4,z=3,编程求x>y&&z>y的值.
2. 变量、常量、数据类型转换练习
编写程序计算半径为5,高为10的圆锥形的体积volumn,。V圆锥=1/3*π* 半径*2*高
3. 编写程序,读入费用与提成率,计算提成与总费用,例如:费用为10元钱,提成率为15%(要求把提成率定义为常量),那么总费用为10+10*15%,结果为11.5元。
4. 编写程序计算一个三位数,各个位数的和,例如:123的各个位数的和为1+2+3=6。
5. 编写程序将华氏温度78度转换为摄氏温度,转换成的摄氏温度在屏幕上显示出来:转换公式为:摄氏度=(5/9)*(华氏度-32)
先建工程,然后建包,再建java源文件,在原文件中编写代码,运行看结果。
重复上述步骤。
(2) 控制语句
1. 利用下表根据销售额计算销售提成,并显示结果。定义代表销售额的变量,初始值为3000。
表1
销售额
提成
1美元——5000美元
5001美元——10000美元
10001美元以上
8%
10%
12%
提示:写一个销售额计算的类SaleTest,该类包括:
n 主方法main:
a) 定义销售额;
b) 根据表1,使用条件语句进行判断,输出相应的提成。
2. 有三个整型变量a、b和c,编写程序求3个数中的最大值。
提示:写一个类MaxTest,该类包括:
n 主方法main:
定义三个变量,分别存放三个数,然后定义一个变量用来存放比较后的三个数的最大值;
使用条件语句进行判断,输出最大数。
3. 编写程序,定义三个变量,分别表示三角形的三条边,输出是否能组成一个三角形。提示:如果任意两条边的和大于第三条边则输入有效。例如输入3,2,1,输出应该为:不能组成三角形。
4. 编写程序
a) 定义两个变量a和b,分别表示两个操作数
b) 定义一个变量op,表示要对操作数进行的运算,op的值为1代表加法,2代表减法,3代表乘法,4代表除法,
c) 使用swicth语句编程实现,对操作数的运算,然后输出结果。
d) 例如a的值为3,b的值为5时,如果op等于1,就计算并输出a加上b的结果8。
5. 用while循环,求1-100的偶数和。
提示:写类WhileTest,该类包括:
n 主方法main:
a) 定义一个变量,用来控制循环,在定一个变量,用来存放计算后的和;
b) 使用while循环完成计算和的功能;
c) 再循环外输出结果。
6. 输出1到100中能被7整除或者个位数是7的数字。
提示:输出1到100中能被7整除或者个位数是7的数字
n main方法:
a) 第一层循环,i从1到100循环;
b) 在循环体内使用if语句进行判断,i如果能被7整除,或者取出各位数字等于7,就输出i
7. 编写一个Java应用程序,用循环结构打印如下的数值列表:
1 10 100 1000
2 20 200 2000
3 30 300 3000
4 40 400 4000
5 50 500 5000
8. 编写一个应用程序,计算某个(例如8)整数的阶乘,并将结果输出到屏幕上。
(五)成果提交
教师检查。
(六)考核方式与标准
实验不作为考核项
三:类和对象、方法(随堂实践3)
(一)基本信息
本篇的实践主要是对类和对象、方法、构造方法进行应用。
1、类型:
■ 综合类 □ 设计类 □ 创新类 □ 验证类
2、学时安排:
课上2学时,主要分配如下:
类和对象综合应用:2学时
3、教学目标:
本项目实施目标主要包含以下几部分:
(1)掌握如何使用对象。
(2)类和对象的属性和方法。
(3)构造方法的使用。
(二)组织形式
本项目进行课上实施,每名学生单独完成项目的实施。教师对出现的问题或疑问进行解答。对完成情况进行点评,重点难点知识及共性问题进行集中讲解。对于学生感兴趣的问题进行扩展,引导学生发挥创意开发不同的实现方案。
(三)任务描述
类和对象创建、方法和构造方法。
(四)指导内容
1、相关知识:
(1)什么是类、对象,如何创建类。
(2)如何创建属性和方法。
(3)构造方法的创建。
2、过程与步骤:
(1)类和对象以及综合应用
建java源文件,在原文件中编写代码,运行看结果。重复上述步骤。
1. 创建猴子类
1) 编写一个类Monkey,用来表示猴子类;
2) 给Monkey类确定属性(学生随意设定,例如名字、类别、年龄等);
3) 编写展示猴子能够爬树的方法(方法内只需打印猴子的“名称+能爬树”)。
2. 定义一个表示图书的类
1) 名字为Book
2) 属性包含:书名、价格、出版社、作者等信息
3) 方法包含:编写一个方法,输出一本书的基本信息。
3. 创建商品类
1) 编写一个商品类Good;
2) 给Good类确定属性(学生随意设定,例如名称、生产日期、价格、品牌等);
3) 编写一个计算折扣价格的方法,要求该方法带有一个参数,表示折扣的百分比。
4. 创建Rectangle类与对象
1) 创建一个Rectangle类;
2) 属性:两个double成员变量,width和height。
3) 方法:计算矩形的周长length()和面积area()。
4) 编写测试类,创建Rectangle对象,并给两个成员变量赋值,调用周长和面积的方法,输出周长和面积。
5. Loan类与对象
1) 定义一个类Loan表示贷款
2) 属性包含:年利率(默认为2.5%)
贷款年限(默认为1)
贷款额(默认为1000)
贷款发生的日期
3) 构造方法包括:默认的构造方法
带参的构造方法
4) 方法包含:计算月支付额的方法
计算总支付额的方法
5) 编写一个测试类,定义两个Loan类的对象,分别调用两个对象的各个方法。
体会使用构造方法来给对象属性赋初始值的形式。
6. 练习static修饰符的使用
1) 编写类Teacher;
2) 属性:教师的课时数量和计算课时的系数(所有教师的课时系数相同,使用static修饰),均为double类型;
3) 方法:courseCompute(),可计算教师的当量课时(=课时量*系数),返回值类型为double。
4) 编写一个测试类进行测试,创建两个教师对象,分别具有不同的课时数量,课时系数为1.2,输出计算后的两位老师的当量课时。
5) 将系数修改后,输出修改后的当量课时。
5.重载的练习:编写一个类,包含两个计算电话费的方法,方法名相同,
一个带两个参数,参数表示每分钟通话的费用,前三分钟的话费,话费=前三分钟的话费+每分钟的话费*(通话时间-3);
另外一个带一个参数,表示每分钟话费,话费=每分钟的话费*通话时间;
两个方法分别在main方法中调用这两个方法,计算通话时间为5分钟的情况下,两个方法的计算结果各是多少。
6. 定义一个笔记本(NoteBook)类,该类有:品牌(Brand)和状态(State)两个属性,有无参和有参的两个构造方法,然后编写一个测试类,测试笔记本类的各个方法。
(五)成果提交
教师检查。
(六)考核方式与标准
实验不作为考核项
四:封装和继承(课堂实践4)
(一)基本信息
封装、继承和多态是Java语言的三要素。类的继承是1对1的,而接口的实现可以是1对多的,所以在现实世界中接口的使用是很方便的。
1、类型:
■ 综合类 □设计类 □ 创新类 □ 验证类
2、学时安排:
本模块需要课上2学时来完成。具体如下:
封装和继承的应用 2学时
3、教学目标:
(1)掌握封装和继承的使用;
(2)掌握多态的定义和使用;
(二)组织形式
课上实施,每名学生单独完成这3部分的题目,遇到问题咨询老师,如未完成需要课下完成。
(三)任务描述
教师对题目进行检查并记录分数。
(四)指导内容
1、相关知识:
(1)封装;
(2)继承。
2、过程与步骤:
1. 属性的隐藏测试
1) 在上题的基础上,在类A2中,声明并初始化一个变量:String name="AAA";
2) 在B2中也声明并初始化一个变量:String name="BBB";
3) 在B2中,创建一个方法t(),在里面输出name;
4) 在测试类中,创建B2的对象bb,调用bb.t(),看看输出的名字是什么?
5) 再修改t()方法,加上输出super.name,观察输出结果?
2. 继承的应用
1) 编写一个商品类Good;(使用以前做过的)
2) 编写商品类的子类牛奶,增加了表示会员价格的属性,覆盖父类的计算折扣的方法,要求能计算出会员和非会员折扣后各是多要钱。
3) 编写测试类,初始化牛奶的价格为3元,会员价格为2.6元,折扣的百分比为0.8,测试子类的应用,输出折扣后的价格。
3. 重载
1) 编写一个类Telephone
2) 属性:号码和话费余额
3) 构造方法:一个带参的,一个不带参的
4) 方法:计算话费的方法telephoneCharge,计算话费的方式不同,一种是:3毛钱+(本次通话时间-3分钟)*1毛钱,另外一种是:每分钟的话费*本次通话时间。使用重载的方式完成两个同名方法的的编写。
5) 包含查询余额的方法。
编写测试类,分别创建两个电话对象,调用不同的计算话费的方法,并显示余额。
4. 接口的定义和使用
定义VIP会员价格接口VipPrice,包含DISCOUNT属性和reducedPrice()方法。
定义服装子类Clothing,它继承上个实验中的商品类Goods并实现接口VipPrice,使VIP会员商品价格享受8折优惠,并有服装样式style属性、构造方法和显示服装信息的show方法。
编写一个测试类,创建一种服装(“女装”,300,2),利用show方法输出服装的单价、数量、样式及VIP价格信息。
(五)成果提交
教师检查。
(六)考核方式与标准
实验不作为考核项
五:字符串和数组的应用(课堂实践5)
(一)基本信息
数组无论在哪种编程语言中都算是最重要的数据结构之一,同时不同语言的实现及处理也不尽相同。但凡写过一些程序的人都知道数组的价值及理解数组的重要性,数组成为了基本的数据结构。
1、类型:
■ 综合类 □设计类 □ 创新类 □ 验证类
2、学时安排:
本模块需要课上2学时来完成。具体如下:
字符串和数组的应用:2学时;
3、教学目标:
(1)掌握字符串常用方法的使用;
(2)掌握数组的使用;
(二)组织形式
课上实施,每名学生单独完成这部分的题目,遇到问题咨询老师,如未完成需要课下完成。
(三)任务描述
根据题目需求完成项目内容。
(四)指导内容
1、相关知识:
(1)数组。
(2)String。
2、过程与步骤:
1. 有一个已经排好升序的数组{30,45,68,79,89},编写程序完成将此数组倒序存放在另一个数组内。
2. 编写程序模拟一次歌手大赛,共有10个评委打分,分数为1到10之间的随机数,将10个分数存放在数组中,然后去掉最高分和最低分,计算歌手的最后得分。
3. 有5个学生,学号分别为1、2、3、4、5,某项考试的成绩分别是76、85、93、68、81,将所有学生的学号和成绩用一个二维数组表示,编一个程序找出最高分所对应的学号。
分析:a.思考这道题的数组该如何组织?
是:myList = {{“1”,”76”},{“2”,”85”},{“3”,”93”},{“4”,”68”},{“5”,”81”}};
还是:myList ={{“1”, “2”, “3”, “4”, “5”},{“76”,”85“,”93”,”68”,”81”}};
我选择前者。
b.采用二层循环从二维数组中找出成绩最高的元素及其相应学号。
c.试着用冒泡法给成绩进行排序。
气泡排序算法:
public void sort(int [] sort) {
int temp;
for(int i=0;i<sort.length;i++)
for(int j=0;j<sort.length-1;j++)
if(sort[j]>sort[j+1]){
temp=sort[j];
sort[j]=sort[j+1];
sort[j+1]=temp;
}
}
4. 编写程序,判断一个字符串是否为另一个字符串的子串。
5. 实现从键盘输入一个手机号码,要求有固定的长度而且必须是0到9之间的数字,如果出现不符合规则的情况,提示重新输入。
(五)成果提交
教师检查。
(六)考核方式与标准
实验不作为考核项
展开阅读全文