gpt4 book ai didi

Java NullPointerException 当我调用自定义类上的方法时

转载 作者:行者123 更新时间:2023-12-01 17:40:10 25 4
gpt4 key购买 nike

当调用自定义类上的方法时,出现空指针异常。我不明白为什么我的 Player 类的对象 p 为空。 (玩家是我的游戏的玩家类)玩是方法。这个类应该创建 n 个 Player 类的 p 对象并在它们上运行 play 方法。

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


}
}

感谢您的帮助。

最佳答案

您将相当多的Player分配给数组列表players,但从未将任何Player分配给p。请注意,在循环中:

   for(int i = 0; i < n; i++)
{
Player p;
p = new Player();

players.add(p);
}

本地p隐藏了对象中的那个。目前尚不清楚您希望对象级 p 具有什么值,因此我不知道如何更正您的代码。

您还应该真正努力保持 block 缩进一致。很难按原样遵循您的代码。如果您使用的是 Eclipse,请突出显示整个困惑情况并按 ctrl-i 来修复它。

关于Java NullPointerException 当我调用自定义类上的方法时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1816155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com