public void testMapRemove() { Scanner scanner=new Scanner(System.in); while(true) { ? ?System.out.println("請輸入想要刪除學生的ID"); ? ? String ID=scanner.next(); //報錯行 ? ? Student stu=map.get(ID); if(stu!=null){ map.remove(ID); System.out.println("成功刪除學生"+map.get(ID).name); break; ?} else { System.out.println("該ID不存在!"); continue; } ?} } Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at com.imooc_collection.SetMap.testMapRemove(SetMap.java:50)
1 回答

慕少7573967
TA貢獻6條經驗 獲得超2個贊
拋出這個NoSuchElementException異常,表示,沒有這么多的元素了。
就是,本來這時候不應該再執行的,而你while(true)一直死循環了。