這段代碼運行后,為什么會出現一個null值呢?
package?temp;
import?java.util.ArrayList;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;
import?java.util.Scanner;
public?class?CreatGamers?{
Map?gamers;
List?cards;
CreatGamers(){
gamers=new?HashMap();
cards=new?ArrayList();
}
Scanner?in=new?Scanner(System.in);
public?void?Gamers(){
for(int?i=0;i<=1;i++){
System.out.println("請輸入第"+(i+1)+"個玩家ID和姓名");
System.out.println("輸入玩家ID");
int?ID=in.nextInt();
System.out.println("輸入玩家姓名");
String?name=in.next();
gamers.put(ID,?name);
}
for(int?i=0;i<=1;i++){
System.out.println("歡迎玩家"+gamers.get(i));
}
}
}主函數://調用上面的類方法運行程序
package?temp;
public?class?Main?{
/**
?*?@param?args
?*/
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
CreatGamers?a=new?CreatGamers();
a.?Gamers();
}
}
2017-01-08
public void TestKeySet(){
Set<String> keyset=students.keySet();
for (String string : keyset) {
Student st=students.get(string);
if(st!=null){
System.out.println("學生:"+st.getName());
}
}
}
那就用這個來輸出吧。
2017-01-08
??System.out.println("歡迎玩家"+gamers.get(i));變成以下:
??System.out.println("歡迎玩家"+gamers.get(i)name);
原因是:上面是獲取集成員,下面是獲取集里面成員具體的屬性。