为了账号安全,请及时绑定邮箱和手机立即绑定

这段代码运行后,为什么会出现一个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();
	}

}


正在回答

2 回答

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

}

}

}

那就用这个来输出吧。

0 回复 有任何疑惑可以回复我~

  System.out.println("欢迎玩家"+gamers.get(i));变成以下:
  System.out.println("欢迎玩家"+gamers.get(i)name);
原因是:上面是获取集成员,下面是获取集里面成员具体的属性。

0 回复 有任何疑惑可以回复我~
#1

qq_上弦上洛上缘_0

System.out.println("欢迎玩家"+gamers.get(i));变成以下: System.out.println("欢迎玩家"+gamers.get(i).name); 原因是:上面是获取集成员,下面是获取集里面成员具体的属性。 (第一个少些了一个点)
2017-01-08 回复 有任何疑惑可以回复我~
#2

昵称是JaVa 提问者 回复 qq_上弦上洛上缘_0

不行啊,gamers.get(i)是个空值,这样会报空指针异常的。
2017-01-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这段代码运行后,为什么会出现一个null值呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信