請輸入學生ID: 1 請輸入學生姓名: 小紅 成功添加:xi小紅 請輸入學生ID: 為什么小紅前面還有xi
package ine.collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class MapTest {
public Map<String,Student>students;
public MapTest(){
this.students=new HashMap<String,Student>();
}
? public void testPut(){
?
Scanner consol=new Scanner(System.in);
?for(int i=0;i<3;i++){
?System.out.println("請輸入學生ID:");
?String ID=consol.next();
?Student st=students.get(ID);
?if (st==null){
?System.out.println("請輸入學生姓名:");
?String name=consol.next();
?Student newStudent=new Student(ID,name);
?//通過調(diào)用Studet的put方法,添加ID-學生的映射關系
?students.put(ID, newStudent);
?System.out.println("成功添加:"+students.get(ID).name);
?}else{
?System.out.println("該學生ID已被占用!");
?continue;
?}
?}
? }
public void testKeySet(){
Set<String>keySet=students.keySet();
System.out.println("總共有"+students.size()+"個同學");
for (String stuID : keySet) {
Student st=students.get(stuID);
if(st!=null){
System.out.println("學生:"+st.name);
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MapTest temp=new MapTest();
temp.testPut();
temp.testKeySet();
}
}
2015-12-30
我看了下代碼沒問題,你檢查下是不是輸入“小紅”的時候有誤操作吧?
2015-12-22
你理解的不夠 加油吧
2015-12-21
System.out.println("成功添加:"+students.get(ID).name);
第一,students.get(ID).name是什么意思,java中沒有對象.屬性調(diào)用屬性的。
另外你這代碼,testkeySet方法不會執(zhí)行的啊。