当调用自定义类上的方法时,会出现空指针异常。我不明白为什么我的类Player的对象p是null。 (玩家是我的游戏的一类玩家)玩法就是这种方法。这个类应该创建n个Player类的p个对象并对它们运行play方法。Java NullPointerException当我调用自定义类上的方法时
import java.util.*;
public class PsychicGameMore
{
private ArrayList <Player> players;
private int orginalNumber;
private Player p;
public PsychicGameMore()
{
int n;
Scanner s;
s = new Scanner(System.in);
System.out.println("How many players will there be?, Please enter a number");
n = s.nextInt();
players = new ArrayList<Player>(n);
//for loop to create n number of Players
for(int i = 0; i < n; i++)
{
Player p;
p = new Player();
players.add(p);
}
orginalNumber =0;
}
public void play()
{
Random myRandom;
myRandom = new Random();
do
{
orginalNumber = myRandom.nextInt(6)+1;
System.out.println("The computer has choosen the number " + orginalNumber);
p.play();
if(orginalNumber == p.getGuessedNumber())
{
System.out.println(p.getName() + " has won!!!!!!!!!!!!!!!!");
}
} while((orginalNumber != p.getGuessedNumber()));
}
}
感谢您的任何帮助。
空指针在哪里?你有一个全局播放器p,并在for循环中再次定义本地。我甚至不会对代码风格发表评论... – Trick 2009-11-29 17:42:00
我知道代码风格可以改进工作 – 2009-11-29 17:46:36
nullpointer在p.play(); – 2009-11-29 17:47:40