healer贤
2018-08-06 14:54
package com.xueshengguanli; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Scanner; import java.util.Set; public class MapTest { //用来承装学生类型对象 public Map<String,Student> students; //在构造器中初始化students属性 public MapTest() { this.students=new HashMap<String,Student>(); } /** * 输入学生id,判断是否被占用,, * 若未被占用,则输入姓名,创建新学生对象,并且 * 添加到students中 * @param args * @return */ public void testPut() { Scanner in=new Scanner(System.in); int i=0; while(i<3) { System.out.println("请输入学生id"); String id=in.next(); //判断id是否被占用 Student st=students.get(id); if(st==null) { System.out.println("请输入学生姓名"); String name=in.next(); Student newStudent=new Student(id,name); students.put(id, newStudent); System.out.println("成功添加学生"+students.get(id).name); i++; }else { System.out.println("学生id已被占用"); continue; } } } /** * 测试map的keySet方法 * * @param args */ public void testKeySet() { //通过keySet方法,返回Map中所有"键"的set集合 Set<String> keySet=students.keySet(); //取得students容量 System.out.println("总共有"+students.size()+"个学生"); //通过遍历keySet对象,来取得map中每一个键,再调用map的get方法取得每个键对应的value for(String stuid:keySet) { Student st=students.get(stuid); if(st!=null) { System.out.println("学生:"+st.name); } } } public void testRemove() { Scanner in=new Scanner(System.in); while(true) { System.out.println("请输入要删除的学生id"); String id=in.next(); Student st=students.get(id); if(st==null) { System.out.println("没有此人"); continue; }else { students.remove(id); System.out.println("学生"+st.name+"已经删除"); break; } } } public void testEntrySet() { Set<Entry<String,Student>> entrySet=students.entrySet(); for(Entry<String,Student> entry:entrySet) { System.out.println("取得键"+entry.getKey()); System.out.println("对应值为"+entry.getValue().name); } } public static void main(String[] args) { // TODO Auto-generated method stub MapTest mp=new MapTest(); mp.testPut(); mp.testKeySet(); mp.testRemove(); mp.testEntrySet(); } } 运行结果:请输入学生id 1 请输入学生姓名 we 成功添加学生1 请输入学生id 2 请输入学生姓名 rng 成功添加学生2 请输入学生id 3 请输入学生姓名 ig 成功添加学生3 总共有3个学生 学生:1 学生:2 学生:3 请输入要删除的学生id 2 学生2已经删除 取得键1 对应值为1 取得键3 对应值为3
查看Student类中 public Student(String id,String name) 是否正确
是不是 String id和String name写反了
Java入门第三季
409768 学习 · 4463 问题
相似问题