gpt4 book ai didi

java - 数组元素用作数组的索引

转载 作者:行者123 更新时间:2023-12-01 11:58:04 25 4
gpt4 key购买 nike

我创建了一个方法,它使用两个数组来查看是否满足某个条件(此方法是我创建的一个测试方法,用于帮助隔离问题,但并未取得太大成功)。每次我尝试运行代码时,都会收到错误

java.lang.ArrayIndexOutOfBoundsException: 3
at Player.testRNumber(Player.java:150)
at GameOfSticks1.HumanVsAI(GameOfSticks1.java:79)
at GameOfSticks1.main(GameOfSticks1.java:216)

我对java很陌生,经过一个小时的尝试弄清楚发生了什么,但收效甚微。任何帮助将不胜感激。这是我一直在使用的方法。

public void testRNumber()
{

CurrentScore[0] = 1
int x = CurrentScore[0]; //this equals 12 btw
int y = CurrentScore[1]; //this equals 3 btw
System.out.println(x);
System.out.println(y);
System.out.println((ArrayOfBuckets[x][y]) + 2);

//everything above this comment**strong text** works fine.

if(ArrayOfBuckets[x-1][y] == 1)
System.out.println("Ok, so this if loop seems fine.");

}

最佳答案

这是你的问题。您的二维桶阵列不是矩形的。

java 中的二维数组不一定是矩形的。我的猜测是你的数组看起来像这样:

{
...//Buckets 1 - 10
{value0, value1, value2}//bucket 11 has < 4 elements.
{value3, value4, value5, value6,...}//bucket 12 has >= 4 elements.
//Rest of buckets
}

这意味着调用 ArrayOfBuckets[12][3] 有效,但调用 ArrayOfBuckets[11][3] 无效。

关于java - 数组元素用作数组的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28206457/

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