package com.imooc.collection;import java.util.HashMap;import java.util.Map;import java.util.Scanner;import java.util.Set;public class TestMap {/* * 用来承装学生类型对象 */ public Map<String,student> students;/* * 在构造器初始化student属性 */ public TestMap(){ this.students=new HashMap<String,student>(); }/* * 测试添加:输入学生ID判断是否被占用 * 若未被占用,则输入姓名,创建学生对象,并且添加到student中 */ public void testPut() { //创建Scanner对象,用来获取输入的学生信息 Scanner inpu=new Scanner(System.in); int i=0; while(i<3) { System.out.println("请输入学生ID:"); String ID=inpu.next(); //判断ID是否被占用 student st=students.get(ID); if(st==null) { //提示输入学生姓名 System.out.println("请输入学生姓名:"); String name=inpu.next(); //创建新的学生对象 student newStudent=new student(ID,name); //通过调用students的put方法,添加ID-学生映射 students.put(ID, newStudent); System.out.println("成功添加学生:"+students.get(ID).name); i++; } else { System.out.println("该学生ID已被占用!"); continue; } } } /* * 测试Map的KeySet方法 */ public void testKeySet() { //通过KeySet方法,返回Map中的所有“键”的Set集合 Set<String> keySet=students.keySet(); //取得学生的数量 System.out.println("共有:"+students.size()+"个学生"); //遍历keySet,取得每一个键,在调用get方法取得每个键对应的value for(String stuId:keySet) { student st=students.get(stuId); if(st!=null) System.out.println("学生:"+st.name); } } public static void main(String[] args) { // TODO 自动生成的方法存根 TestMap tm=new TestMap(); tm.testPut(); tm.testKeySet(); }}
我和你一样 也是没有报错 但输出的姓名是null 你现在解决了嘛
package com.imooc.collection; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import java.util.Set; public class TestMap { /* * 用来承装学生类型对象 */ public Map<String,student> students; /* * 在构造器初始化student属性 */ public TestMap(){ this.students=new HashMap<String,student>(); } /* * 测试添加:输入学生ID判断是否被占用 * 若未被占用,则输入姓名,创建学生对象,并且添加到student中 */ public void testPut() { //创建Scanner对象,用来获取输入的学生信息 Scanner inpu=new Scanner(System.in); int i=0; while(i<3) { System.out.println("请输入学生ID:"); String ID=inpu.next(); //判断ID是否被占用 student st=students.get(ID); if(st==null) { //提示输入学生姓名 System.out.println("请输入学生姓名:"); String name=inpu.next(); //创建新的学生对象 student newStudent=new student(ID,name); //通过调用students的put方法,添加ID-学生映射 students.put(ID, newStudent); System.out.println("成功添加学生:"+students.get(ID).name); i++; } else { System.out.println("该学生ID已被占用!"); continue; } } } /* * 测试Map的KeySet方法 */ public void testKeySet() { //通过KeySet方法,返回Map中的所有“键”的Set集合 Set<String> keySet=students.keySet(); //取得学生的数量 System.out.println("共有:"+students.size()+"个学生"); //遍历keySet,取得每一个键,在调用get方法取得每个键对应的value for(String stuId:keySet) { student st=students.get(stuId); if(st!=null) System.out.println("学生:"+st.name); } } public static void main(String[] args) { // TODO 自动生成的方法存根 TestMap tm=new TestMap(); tm.testPut(); tm.testKeySet(); } }
没有报错!知怎么回事!