JAVA高级特性编程及实战第1章练习题3答案参考~

本人菜鸟,一章章地学,

本想在网上搜一下然后对下答案的,

没找着~

本着虔诚的心,把自己做的贴出来~

运行结果是了出来了,过程不知道是否正确

欢迎大佬指正~

题干:编写Java程序,创建学员类Student,并添加姓名、年龄、性别等字段,创建3个ArrayList<T>对象,指定T为Student类,每个ArrayList<T>中添加一些学员对象,再创建HashMap<K,V>对象,以年级名称为键,指定为String类型,指定value类型为ArrayList<Student>,值为存放学员的ArrayList<T>对象,然后从HashMap<K,V>对象中获取某个班级的学员信息并输出。程序输出结果如图所示:

输入班级名称:

三年级一班

三年级一班学生列表:

张三丰   男  7

杨过      男   9

郭靖      男   8

**题目在P26,自己的库里Student已占用,故自己命名的两个类分别是P26_3和Test_p26)。

public class P26_3 <T1,T2,T3>{  private T1 name;private T2 sex;private T3 age; public   P26_3 (T1 name,T2 sex,T3 age) {this.name = name;this.age = age;this.sex = sex;}public void setName(T1 name) {this.name = name;}public T1  getName() {return name;}public T3 getAge() {return age;}public void setAge(T3 age) {this.age = age;}public T2 getSex() {return sex;}public void setSex(T2 sex) {this.sex = sex;}}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;public class Test_p26 {public static void main (String[] args) {P26_3<String,String,Integer> stu1 = new P26_3<String,String,Integer> ("张三丰","男",7);P26_3<String,String,Integer> stu2 = new P26_3<String,String,Integer>("杨过","男",9);P26_3<String,String,Integer> stu3 = new P26_3<String,String,Integer>("郭靖","女",8);P26_3<String,String,Integer> stu4 = new P26_3<String,String,Integer>("黄蓉","女",10);P26_3<String,String,Integer> stu5 = new P26_3<String,String,Integer>("欧阳峰","男",9);P26_3<String,String,Integer> stu6 = new P26_3<String,String,Integer>("莫念慈","女",8);P26_3<String,String,Integer> stu7 = new P26_3<String,String,Integer>("杨康","男",7);P26_3<String,String,Integer> stu8 = new P26_3<String,String,Integer>("尹志平","男",8);P26_3<String,String,Integer> stu9 = new P26_3<String,String,Integer>("华筝","女",9);ArrayList<P26_3<String,String,Integer>> list1 = new ArrayList<P26_3<String,String,Integer>>();list1.add(stu1);list1.add(stu2);list1.add(stu3);ArrayList<P26_3<String,String,Integer>> list2 = new ArrayList<P26_3<String,String,Integer>>();list2.add(stu4);list2.add(stu5);list2.add(stu6); ArrayList<P26_3<String,String,Integer>> list3= new ArrayList<P26_3<String,String,Integer>>();list3.add(stu7);list3.add(stu8);list3.add(stu9);HashMap <String,ArrayList<P26_3<String,String,Integer>>>  map = new HashMap <String,ArrayList<P26_3<String,String,Integer>>>();map.put("三年级一班",list1);map.put("三年级二班",list2);map.put("三年级三班",list3);System.out.println("*****学生名册查询*****");String end;do {           System.out.println("输入班级名称:");Scanner input = new Scanner(System.in);String banji = input.next();Set<String> set = map.keySet();  //为什么不能用HashSet<String> set = map.keySet();???if (set.contains(banji)) {System.out.println(banji+"学生列表:");ArrayList<P26_3<String,String,Integer>> list=map.get(banji);for (P26_3<String,String,Integer> obj:list) {System.out.println(obj.getName()+"  "+obj.getSex()+"  "+obj.getAge());}} else {System.out.println("没有这个班级!");}System.out.println("继续查询/退出查询(y/n):");Scanner input2 = new Scanner(System.in);end = input2.next();   //end不能在循环体内定义} while (end.equals("y")|| end.equals("Y") );System.out.println("*****查询结束*****");System.exit(0);} }

课工场-JAVA高级特性编程及实战第1章练习题3答案参考相关推荐

  1. Java高级特性编程及事件_java高级特性是什么

    详细内容 java高级特性主要有集合框架及泛型,实用类,输入和输出处理,注解与多线程,网络编程与XML技术. 集合框架 是一套性能优良.使用方便的接口和类(位于java.util包中)解决数组在存储上 ...

  2. Java高级特性增强-多线程

    请戳GitHub原文: https://github.com/wangzhiwub... 大数据成神之路系列: 请戳GitHub原文: https://github.com/wangzhiwub... ...

  3. Java高级特性 - 多线程练习题

    第1关:顺序输出 任务描述 本关任务:利用多线程相关知识控制三个线程,依照先后顺序顺序输出. 相关知识(略) 编程要求 请仔细阅读右侧代码,在 Begin-End 区域内进行代码补充,使线程依照先后顺 ...

  4. 头歌Educoder——Java高级特性 - JDBC(上)

    第1关:JDBC连接数据库 任务描述 本关任务:使用jdbc连接数据库并完成创建数据库和创建表的操作. 相关知识 JDBC API提供以下接口和类: DriverManager:此类管理数据库驱动程序 ...

  5. 十三、Java高级特性 Lambda表达式 | 接口组成更新 | 方法引用 | 函数式接口

    文章目录 十三.Java高级特性 1.Lambda表达式 1.1体验Lambda表达式[理解] 1.2Lambda表达式的标准格式[理解] 1.3Lambda表达式练习1[应用] 1.4Lambda表 ...

  6. 头歌Educoder——Java高级特性 - 多线程练习题

    文章目录 第1关:顺序输出 任务描述 相关知识(略) 编程要求 测试说明 代码示例 第2关:售票窗口 任务描述 相关知识(略) 编程要求 测试说明 代码示例 Station.java Task.jav ...

  7. Educoder–Java高级特性(第一章)- IO流【笔记+参考代码】

    Educoder–Java高级特性(第一章)- IO流[笔记+参考代码] 第一关 1.下列关于字节和字符的说法正确的是(BC) A.字节 = 字符 + 编码 B.字符 = 字节 + 编码 C.字节 = ...

  8. Java学习之java高级特性

    From:https://blog.csdn.net/w252064/article/details/79923999 [Java高级特性详解]:https://blog.csdn.net/qq_37 ...

  9. (小白学JAVA之)Java高级特性知识点梳理

    Java高级特性知识点梳理 集合框架和泛型 List接口 ArrayList ArrayList类的常用方法 具体实现步骤 LinkedList LinkedList类的常用方法 具体实现步骤 Set ...

最新文章

  1. 怎么样在c#程序中放音乐
  2. java 魔法王国,游历魔法王国
  3. C语言复习篇之数组与指针
  4. 选32位 64位 oracle,32位PLSQL配置为64位的Oracle和64位系统
  5. webpack 原理图_webpack打包原理
  6. JZOJ 5410. 【NOIP2017提高A组集训10.22】小型耀斑
  7. UVA11624_Fire!
  8. scala使用zip合并两个集合为二元组集合
  9. javaweb(二十一)——JavaWeb的两种开发模式
  10. STM32之内部FLASH原理
  11. 画质与性能双重加持,Unity超越游戏的“炫技”
  12. 谁说 Java 要过时?2017 年 Java 大事件回顾!
  13. 485. 最大连续1的个数
  14. python求解微分方程组_用python解一阶微分方程组
  15. [2019杭电多校第七场][hdu6655]Just Repeat
  16. Android-广播
  17. 6款javascript甘特图组件体验
  18. Android 持续集成基础教程
  19. Laravel框架介绍与简介
  20. Java字节码插桩玩法(Javassist)

热门文章

  1. 广东省英语听说计算机考试系统,广东英语听说考试全真模拟训练
  2. 来自于DjangoORM查询的蜜汁bug
  3. bitbucket pipeline - caches
  4. TAQ服务器npc多久自动交物资,暴雪再次发布怀旧服超长蓝贴:村服有NPC帮交物资!...
  5. 公司名称变更仅需6步
  6. python对数据进行分类、文件是csv文件_用Python将处理数据得到的csv文件分类(按顺序)保存...
  7. (论文)The Economics of Buyer Uncertainty: AdvanceSelling vs. Probabilistic selling
  8. 【看表情包学Linux】进程的概念 | 进程控制块 PCB | 父进程与子进程 | 进程 ID | task_struct
  9. 随笔-当曾经的小弟当了你的领导,阁下该如何应对
  10. 手机1像素线粗_iOS绘制1像素线的正确姿势