logo - 刷刷题
下载APP
【简答题】

实验十四 集合 1. 实验目的 (1) 理解List、Set和Map的区别。 (2) 掌握Comparable和Comparator接口的使用方法。 (3) 掌握ArrayList、TreeSet和HashMap的使用方法。 (4) 掌握迭代器接口Iterator遍历集合的方法。 2. 实验内容 1. 处理扑克牌。 每张扑克牌有点数和花色,定义 Poker类,要求如下:(1)成员变量包括点数point和花色color;(2)定义构造方法初始化所有成员变量;(3)省略setter,定义getter方法;(4)重写toString()方法返回有价值的扑克信息。 定义 PokerComparator类实现Comparator接口,重写compare(Object o1, Object o2)方法,首先按照花色排序,如果花色相同则按照点数从大到小排序。 定义游戏类 ,要求如下:(1)成员变量保存Poker对象的ArrayList对象;(2)定义空构造方法;(3)省略setter方法和getter方法;(4)定义showAll()方法显示成员变量ArrayList对象的所有内容;(5)定义成员方法sort()对成员变量ArrayList按照花色点数排序。 定义测试类,完成以下任务: (1)创建ArrayList 对象list,有若干个不同Poker对象;(2)创建对象,参数是list;(3)调用中的showAll()方法显示所有牌;(4)调用中的sort()方法对list进行排序。程序运行结果如图14-1所示。 2. 学生成绩管理。 定义学生类 Student实现Comparable接口,要求如下:(1)成员变量包括学号id,姓名name,年龄age,课程成绩ArrayList ;(2)定义构造方法初始化所有成员变量;(3)省略setter和getter方法;(4)功能方法:重写Comparable接口的compareTo()方法按照总分从大到小排序,重写toString()方法返回学生的所有成员变量,计算学生平局成绩average()。 定义学生管理类 Manager,要求如下:(1)成员变量包括TreeSet set;(2)定义构造方法初始化成员变量;(3)省略setter和getter方法;(4)定义功能方法:show()显示集合set中保存的学生的学号,姓名,年龄,每门课程的成绩,总成绩和平均成绩,定义put(Student std)方法把一个学生信息添加到set中,利用remove( Student std)方法删除一个学生,searching(String id)方法根据学号查找学生。 定义测试类 Demo,学生成绩信息如表14-1所示。调用put()方法把所有学生添加到Manager中,调用show()方法显示学生信息,调用remove(String std)方法学生,调用searching(String id)方法查找学号“20161119”的学生信息。程序运行结果如图14-1所示。 表 14-1 学生成绩表 学号 姓名 年龄 大学英语成绩 高等数学成绩 大学体育成绩 20160001 孙悟空 22 88 98 20160002 猪八戒 26 82 76 91 20160003 沙和尚 19 91 85 87 20161119 唐僧 20 96 99 65 201620035 牛魔王 56 66 81 91 3. 学生选课管理。 定义学生类,要求如下: (1)成员变量包括学号id,姓名,课程ArrayList ;(2)定义构造方法初始化所有成员变量;(3)省略setter和getter方法;(4)重写toString()方法返回学生信息。 定义课程类,要求如下: (1)课程代码cid,课程名cname,课时hours,学分credit;(2)定义构造方法初始化所有成员变量;(3)省略setter和getter方法;(4)功能方法包括:重写toString()方法返回课程的信息。 定义学生选课管理类,要求如下: (1)成员变量HashMap ;(2)空构造方法初始化成员变量;(3)省略setter和getter方法;(4)功能方法如下:  定义方法 add(Student std,Course course)把表14-2的学生选课信息保存在HashMap中; ‚ 定义方法 showAll()显示所有学生的选课信息; ƒ 定义方法 showStudent()显示所有学生信息; 4 定义方法 showCourse()显示所有课程信息; 5 定义方法 searching(Student std)返回某个学生的选课信息; 6 重载 seraching(Course course)显示选修了某门课程的学生信息。运行结果如图14-3所示。 表 14-2 学生选课信息(假设一个学生仅仅可选一门课) 学号 姓名 课程号 课程名 课时 学分 20160001 孙悟空 C001 大学英语 56 3 20160002 猪八戒 C002 计算机基础 32 2 20160003 沙和尚 C002 计算机基础 32 2 20160004 唐僧 C003 高等数学 80 5 201620035 牛魔王 C004 大学体育 28 2

举报
参考答案:
参考解析:
.
刷刷题刷刷变学霸
举一反三

【单选题】下列复选框构造方法,错误的是 ( )

A.
setLayout(new GridLayout(3,1));
B.
add(new Checkbox('one',null,true));
C.
add(new Checkbox('two'));
D.
add(new Checkbox('one',true));

【单选题】下列哪一项不是构造方法的特点

A.
构造方法名必须与类名相同
B.
构造方法不具有任何返回类型
C.
任何一个类都含有构造方法
D.
构造方法只能用public修饰

【单选题】( )是学好高等数学的基础。

A.
一元函数微积分
B.
空间解析几何
C.
多元函数微积分
D.
无穷级数

【单选题】类的构造方法如果有多余1个的形参,那么实参在( )位置给出。

A.
定义对象时,类名称后面的小括号中给出
B.
对象定义完成后,再给出