當調用自定義類上的方法時,會出現空指針異常。我不明白爲什麼我的類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