Java 程序设计 接口回调及集合类应用

黎 浩然/ 23 12 月, 2021/ JAVA/ 0 comments

深圳大学实验报告

      课程名称:             Java 程序设计                 

      实验项目名称:    必实验接口回调及集合类应用       

学院:              计算机与软件学院                 

专业:               计算机科学与技术                 

      指导教师:            毛斐巧/潘微科                   

      报告人: 黎浩然 学号: 2018112061 班级:     01        

      实验时间:20191025日(周日)-20191115日(周五)

实验报告提交时间:                                       

教务部制

 


一、 实验目的

1. 熟悉集合类的应用,掌握接口的定义、实现类的编写和接口回调等技术。

、实验内容与要求

1. 抽象类和接口的实验。(24分)

(1.1) 定义一个抽象类Human:包含一个成员变量String name;构造方法Human(String name),用于初始化姓名name;一个抽象方法double sayHello()。在报告中附上程序截图和详细的文字说明。(6分)

(1.2) 定义三个继承抽象类Human的类,分别命名为ChineseJapaneseEnglish,在这三个类中重写sayHello()方法,分别输出一句中文、日文和英文的问候;在报告中附上程序截图、运行结果和详细的文字说明。(6分)

(1.3) 定义一个测试类HumanTest:创建一个包含3Human对象的数组,3Human对象来自ChineseJapaneseEnglish类,循环调用该数组中的元素的sayHello()方法。在报告中附上程序截图、运行结果和详细的文字说明。(6分)

(1.4) 通过一个接口(命名为Human)和三个实现类(命名为ChineseJapaneseEnglish)来达到如上类似的效果。在报告中附上程序截图、运行结果和详细的文字说明。(6分)

 

2. 编写Java应用程序,计算菜单北京烤鸭:199.1元;西芹炒肉:12.9元;酸菜鱼:59元;铁板牛柳:32.1的总价格。在报告中附上程序截图、完整的运行结果截图和简要文字说明。(16分)

 

3. 张三、李四等人是A社团成员,李四、王五等人是B社团成员,编写一个Java应用程序(要求使用集合类),输出参加A社团的人、参加B社团的人、以及同时参加两个社团的人。在报告中附上程序截图、完整的运行结果截图和详细的文字说明。(20分)

 

4. 8个显示器,其属性有尺寸和价格。编写一个Java应用程序,使用TreeMap<K,V>,按照价格从小到达排序输出所有显示器的信息,要求通过两种方式实现:通过实现Comparator接口和通过实现Comparable接口。在报告中附上程序截图、完整的运行结果截图和详细的文字说明。(20分)

 

报告写作。要求:主要思路有明确的说明,重点代码有详细的注释,行文逻辑清晰可读性强,报告整体写作较为专业。20分,这一项的评分,采用20分、10分和0分三个级别)

 

说明:

1)本次实验课作业满分为100分,占总成绩的比例(待定)。

2)本次实验课作业截至时间2019年11月21日(周四)23:59

3)报告正文:请在指定位置填写,本次实验不需要单独提交源程序文件

4)个人信息:WORD文件名中的“姓名”、“学号”,请改为你的姓名和学号;实验报告的首页,请准确填写“学院”、“专业”、“报告人”、“学号”、“班级”、“实验报告提交时间”等信息。

5)提交方式:截至时间前,请在Blackboard平台中提交。

6)发现抄袭(包括复制&粘贴整句话、整张图),该次作业记零分。

7)延迟提交,不得分;如有特殊情况,请于截至日期之后48小时内发邮件到panweike@szu.edu.cn,并在邮件中注明课程名称、作业名称、姓名、学号等信息,以及特殊情况说明,我收到后会及时回复。

8)期末考试阶段补交无效。

 

三、实验过程及结果

1. 抽象类和接口的实验。(24分)

(1.1) 定义一个抽象类Human:包含一个成员变量String name;构造方法Human(String name),用于初始化姓名name;一个抽象方法double sayHello()。在报告中附上程序截图和详细的文字说明。(6分)

程序如下:

(1.2) 定义三个继承抽象类Human的类,分别命名为ChineseJapaneseEnglish,在这三个类中重写sayHello()方法,分别输出一句中文、日文和英文的问候;在报告中附上程序截图、运行结果和详细的文字说明。(6分)

Chinese类:

Japanese类:

English类:

 

(1.3) 定义一个测试类HumanTest:创建一个包含3Human对象的数组,3Human对象来自ChineseJapaneseEnglish类,循环调用该数组中的元素的sayHello()方法。在报告中附上程序截图、运行结果和详细的文字说明。(6分)

测试类:

运行结果如下:

(1.4) 通过一个接口(命名为Human)和三个实现类(命名为ChineseJapaneseEnglish)来达到如上类似的效果。在报告中附上程序截图、运行结果和详细的文字说明。(6分)

Human接口:

Chinese类:

JapaneseEnglish类:

测试类代码不变

运行结果如下:

 

2. 编写Java应用程序,计算菜单“北京烤鸭:199.1元;西芹炒肉:12.9元;酸菜鱼:59元;铁板牛柳:32.1元”的总价格。在报告中附上程序截图、完整的运行结果截图和简要文字说明。(16分)

Food类:

测试类:

运行结果:

 

3. 张三、李四等人是A社团成员,李四、王五等人是B社团成员,编写一个Java应用程序(要求使用集合类),输出参加A社团的人、参加B社团的人、以及同时参加两个社团的人。在报告中附上程序截图、完整的运行结果截图和详细的文字说明。(20分)

程序代码如下:

程序运行结果:

4. 8个显示器,其属性有尺寸和价格。编写一个Java应用程序,使用TreeMap<K,V>,按照价格从小到达排序输出所有显示器的信息,要求通过两种方式实现:通过实现Comparator接口和通过实现Comparable接口。在报告中附上程序截图、完整的运行结果截图和详细的文字说明。(20分)

 

Comparable接口的Monitor类:

测试类:

运行结果如下:

通过实现Comparator接口:


测试类:

运行结果如下:

 

四、实验总结与体会

(写写感想、建议等)

 

  1. Java提供丰富的CollectionMap类及其方法,使得用户不必了解其内部机理,从而直接使用其提供的功能。

 


五、成绩评定及评语

1.指导老师批阅意见:

 

 

 

 

2.成绩评定:

 

 

 

指导教师签字:毛斐巧      

                                                2019           

 

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

    2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

 

Converted to HTML with WordToHTML.net

Created with WordToHTML.net trial.
Share this Post

Leave a Comment

您的邮箱地址不会被公开。 必填项已用 * 标注

*
*