《Java程序设计》课内实验指导书 下载本文

...

5. 阶段划分

第一阶段:不考虑情绪影响动物打招呼的方式

编写 Animal 类,没有 mood 属性,只有一种 SayHello 方法;

编写 Dog 类、Cat 类和 Frog 类,分别继承自 Animal 类, 实现与 Animal 类不同的 功能;

编写 main 方法,分别实例化以上三个类的三个对象,测试类方法实现的正确性; 第二阶段:考虑情绪影响动物打招呼的方式

扩充 Animal 类、Dog 类、Cat 类和 Frog 类,增加 Animal 类的 mood 属性,并实现 sayHello 方法的多态性 扩充 main 方法;

第三阶段:考虑陆生动物和水生动物

定义 LandAnimal 接口和 WaterAnimal 接口;

扩充 Dog 类、Cat 类和 Frog 类,使其实现相应的接口; 扩充 main 方法;

6. 程序运行结果

...

...

三、 总结

通过本次项目案例练习了面向对象的 Java 实现,基本囊括了面向对象的三大特征:封装、继承、多态 巩固的知识点

Java 基本的程序结构; 类和对象;

类的封装,包括修饰符的使用 private/public/protected );

抽象类、抽象方法( abstract 关键字);

final 关键字;

类的继承( extends 关键字);

接口的定义和实现( interface/implements 关键字); 多态;

...

...

实验三:异常

一、 实验目的:

掌握 Java 异常的处理机制包括多重 言的使用

catch 块的使用,理解掌握

Java 中自定义异常和断

二、 异常处理

1、 在以下给出 Java 代码基础上,添加异常处理机制的代码,使得代码在出现异常时能正

常结束程序的运行。 public class Lab4_1 {

public static void main (String[] args) {

float a[]=new float[5]; float sum=0;

for(int i=0;i

a[i]=Float.parseFloat(args[i]);

System.out.println (\第\门课程的成绩是 :\sum=sum+a[i]; }

System.out.println(\总成绩是: \float avg=sum/a.length;

System.out.println (\平均成绩是 :\} }

(提示:使用多重 catch 块)

2、 为一个公司编写一个奖金计算程序,用

2010 减去某位员工入职的年份来计算该员工的

1.3;如果工龄为 3 年以上 5 年以下,奖金

在该公司工作的工龄,如果工龄为零,即当年才入职的员工,奖金为其一个月的工资; 如果工龄没超过 3 年,奖金为其月工资乘以

为其月工资 *1.5;如果工龄为 5 年以上,奖金为其月工资 *2 。计算公式如下:

工龄不足一年:奖金 =工资 工龄不足 3 年:奖金 =工资*1.3

工龄 3 年以上、 5 年以下:奖金 =工资 *1.5 工龄 5 年以上:奖金 =工资*2

该程序需要入职的年份和月工资作为程序的输入数据,

输出是该员工的奖金。 如果输入

500 或负数或者抛出

的 年 份 比 2010 年 大 或 者 是 负 数 或 无 效 的 字 符 串 , 则 抛 出 一 个 自 定 义 异 常 (IllegalYearException ),并输出 “无效入职年份 ”;如果输入的工资低于 用户自定义异常。

一个自定义异常( IllegalSalaryException ),并输出 “无效月工资 ”。因此该程序需要定义两个

当有无效的入职年份或月工资数据输入时,程序显式抛出自定义异常。

...

...

实验四: util 包和集合框架

一、 实验目的:

理解 Random 类及其中的方法,并能实际应用。通过实验,熟悉 类解决实际问题。

Collection 接口、 List

接口、Set 接口的常用方法, 并学会应用。 熟悉 Map 接口的方法, 学会运用 HashMap、TreeMap

二、 实验要求:

1、 编写程序模拟掷骰子游戏:同时投掷两个骰子

个数,计算每次投掷结果两个骰子的数值之和, 程中出现的总次数。 实验运行效果:

5000 次。每个骰子上共有从

1 到 6 的 6

并统计和输出每种可能的结果在模拟过

解题思路:

每次掷两个骰子的最小和是

2,最大是 12,一共有 11 个可能的和

这 11 个可能的和出现的次数可以放在一个整型数组里 用随机数每次生成 2 个 1~6 之间的随机数表示掷两个骰子

2、 有集合 A={1 ,2,3,4} 和 B={1,3,7,9,11}, 编写一个应用程序输出

差集。

实验运行效果:

A 和 B 交集、并集和

试验运行效果:

并集是指两个集合合并, 但是去掉重复的元素的集合。 可以使用 HashSet类的 addAll 的方法将两个集合合并

交集是指两个集合中都有的元素组成的集合,可以使用 法得到两个集合的交集

差集是指属于 A 集合但是不属于 B 集合的元素组成的集合

3、 按学生人数对高校排名:珠海有几所普通高等院校,分别是北京理工大学珠海学院,北

京师范大学珠海学院、吉林大学珠海学院、中山大学珠海分校、暨南大学珠海分校,现 要求按照他们的学生人数对这几所大学按降序排序,效果如下:

HashSet 类的 retainAll 的方

程序结构: import java.util.*; //大学类

...