package?com.imooc.collection;import?java.util.HashMap;import?java.util.Map;import?java.util.Scanner;import?java.util.Set;public?class?TestMap?{/*?*?用來承裝學(xué)生類型對象?*/ public?Map<String,student>?students;/*?*?在構(gòu)造器初始化student屬性 ?*/ public?TestMap(){ this.students=new?HashMap<String,student>(); }/*?*?測試添加:輸入學(xué)生ID判斷是否被占用?*?若未被占用,則輸入姓名,創(chuàng)建學(xué)生對象,并且添加到student中 ?*/ public?void?testPut()?{ //創(chuàng)建Scanner對象,用來獲取輸入的學(xué)生信息 Scanner?inpu=new?Scanner(System.in); int?i=0; while(i<3)?{ System.out.println("請輸入學(xué)生ID:"); String?ID=inpu.next(); //判斷ID是否被占用 student?st=students.get(ID); if(st==null)?{ //提示輸入學(xué)生姓名 System.out.println("請輸入學(xué)生姓名:"); String?name=inpu.next(); //創(chuàng)建新的學(xué)生對象 student?newStudent=new?student(ID,name); //通過調(diào)用students的put方法,添加ID-學(xué)生映射 students.put(ID,?newStudent); System.out.println("成功添加學(xué)生:"+students.get(ID).name); i++; } else?{ System.out.println("該學(xué)生ID已被占用!"); continue; } } } /* *?測試Map的KeySet方法 */ public?void?testKeySet()?{ //通過KeySet方法,返回Map中的所有“鍵”的Set集合 Set<String>?keySet=students.keySet(); //取得學(xué)生的數(shù)量 System.out.println("共有:"+students.size()+"個學(xué)生"); //遍歷keySet,取得每一個鍵,在調(diào)用get方法取得每個鍵對應(yīng)的value for(String?stuId:keySet) { student?st=students.get(stuId); if(st!=null) System.out.println("學(xué)生:"+st.name); } } public?static?void?main(String[]?args)?{ //?TODO?自動生成的方法存根 TestMap?tm=new?TestMap(); tm.testPut(); tm.testKeySet(); }}

2020-09-16
我和你一樣 也是沒有報錯 但輸出的姓名是null? 你現(xiàn)在解決了嘛
2020-08-16
沒有報錯!知怎么回事!