Java 检索分配到数组内部随机索引中的字符串

Java 检索分配到数组内部随机索引中的字符串,java,arrays,random,Java,Arrays,Random,所以我需要找到“Nut”字符串存储的位置。我认为我的代码可以很好地工作,但很明显ide一直在给我一个错误 Random rd = new Random(); String[] hidingSpots = new String[100]; hidingSpots[rd.nextInt(hidingSpots.length)] = "Nut"; System.out.println("The nut has been hidden ..."); int nutLocation = 0; while

所以我需要找到“Nut”字符串存储的位置。我认为我的代码可以很好地工作,但很明显ide一直在给我一个错误

Random rd = new Random();
String[] hidingSpots = new String[100];
hidingSpots[rd.nextInt(hidingSpots.length)] = "Nut";
System.out.println("The nut has been hidden ...");
int nutLocation = 0;
while (nutLocation < hidingSpots.length) {
    if (hidingSpots[nutLocation].equals("Nut")) {
        System.out.println("Found it! It's in spot# " + hidingSpots[nutLocation]);
    }
    nutLocation++;
}
Random rd=new Random();
字符串[]隐藏点=新字符串[100];
隐藏点[rd.nextInt(隐藏点长度)]=“螺母”;
System.out.println(“螺母已隐藏…”);
int nutLocation=0;
while(螺母位置<隐藏点长度){
if(隐藏点[nutLocation].equals(“Nut”)){
System.out.println(“找到了!它在现场”+隐藏点[nutLocation]);
}
nutLocation++;
}

如果我不得不猜测,您可能会得到一个
NullPointerException
,因为您在
隐藏点
数组中只初始化了一个字符串。当您第一次创建大小为100的数组时,字符串数组中的所有元素都是空的,直到您用某种东西初始化它们为止。所以这条线,

if(hidingSpots[nutLocation].equals("Nut"))
正在导致当前错误,因为
hidingSpots
中的99个元素当前为
null
,并且您无法将字符串与
null
进行比较


字符串是对象,因此它们在数组中的默认值与任何其他对象一样,将是
null
。这与数组中基元类型的默认值不同。例如,默认情况下,大小为100的
int
数组将包含100个零。

如果我不得不猜测,您可能会得到
NullPointerException
,因为您只初始化了
隐藏点
数组中的一个字符串。当您第一次创建大小为100的数组时,字符串数组中的所有元素都是空的,直到您用某种东西初始化它们为止。所以这条线,

if(hidingSpots[nutLocation].equals("Nut"))
正在导致当前错误,因为
hidingSpots
中的99个元素当前为
null
,并且您无法将字符串与
null
进行比较


字符串是对象,因此它们在数组中的默认值与任何其他对象一样,将是
null
。这与数组中基元类型的默认值不同。例如,默认情况下,大小为100的
int
数组将包含100个零。

IDE只是不断向我抛出一个错误
——如果我们知道该错误是什么,这将是一个非常有用的错误,因此实际上没有任何有用的信息。无法在项目HiddenNuts上执行goal org.codehaus.mojo:exec maven插件:1.2.1:exec(默认cli):命令执行失败。进程退出时出现错误:1(退出值:1)->[Help 1]要查看错误的完整堆栈跟踪,请使用-e开关重新运行Maven。使用-X开关重新运行Maven以启用完全调试日志记录。有关错误和可能的解决方案的更多信息,请阅读以下文章:[Help 1]该错误与您的代码无关。这是一个maven错误。
IDE只是不断地向我抛出一个错误
——如果我们知道这个错误是什么,这将是非常有用的,因为它是一个语义错误,所以实际上没有任何有用的信息。无法在项目HiddenNuts上执行goal org.codehaus.mojo:exec maven插件:1.2.1:exec(默认cli):命令执行失败。进程退出时出现错误:1(退出值:1)->[Help 1]要查看错误的完整堆栈跟踪,请使用-e开关重新运行Maven。使用-X开关重新运行Maven以启用完全调试日志记录。有关错误和可能的解决方案的更多信息,请阅读以下文章:[Help 1]该错误与您的代码无关。这是一个专业的错误。谢谢,这就是问题所在!我没有检查它的螺母,而是检查它是否为空。谢谢,这就是问题所在!我没有检查它的螺母,而是检查它是否为空。