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(); }}

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