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

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

本人菜鸟,一章章地学,

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

没找着~

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

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

欢迎大佬指正~

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

输入班级名称:

三年级一班

三年级一班学生列表:

张三丰   男  7

杨过      男   9

郭靖      男   8

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

public class P26_3 {  
	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 stu1 = new P26_3 ("张三丰","男",7);
	    P26_3 stu2 = new P26_3("杨过","男",9);
	    P26_3 stu3 = new P26_3("郭靖","女",8);
	    P26_3 stu4 = new P26_3("黄蓉","女",10);
	    P26_3 stu5 = new P26_3("欧阳峰","男",9);
	    P26_3 stu6 = new P26_3("莫念慈","女",8);
	    P26_3 stu7 = new P26_3("杨康","男",7);
    	P26_3 stu8 = new P26_3("尹志平","男",8);
    	P26_3 stu9 = new P26_3("华筝","女",9);
	
	    ArrayList> list1 = new ArrayList>();
	    list1.add(stu1);
	    list1.add(stu2);
	    list1.add(stu3);
	
	    ArrayList> list2 = new ArrayList>();
	    list2.add(stu4);
	    list2.add(stu5);
	    list2.add(stu6);	
	
	    ArrayList> list3= new ArrayList>();
	    list3.add(stu7);
	    list3.add(stu8);
	    list3.add(stu9);
	    
	    HashMap >>  map = new HashMap >>();
	    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 set = map.keySet();  //为什么不能用HashSet set = map.keySet();???
	       if (set.contains(banji)) {
	       	   System.out.println(banji+"学生列表:");
	    	   ArrayList> list=map.get(banji);
	    	   for (P26_3 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)