gpt4 book ai didi

java - 成功打印康威生命游戏的初始游戏板时出现编译器错误

转载 作者:行者123 更新时间:2023-12-02 06:05:22 24 4
gpt4 key购买 nike

去年我使用 Python 开发了康威的生命游戏。今年,我正在学习 Java 类(class)。我们进展得非常慢,我什至都听不懂教授的意思,所以我有点提前了。

上次创建生命游戏时,我从未真正理解它背后的概念,因此我正在使用 Java 重新探索它。现在,我只是想打印出我的初始游戏板。这是正常工作的,但是编译器向我抛出一个我无法理解的错误。我尝试通过谷歌搜索来找到答案,但出现了几种解释。请帮忙?

 public class Game {
public static void main(String args[]) {

int i = 0;
int j = 0;
int a = 0;
int b = 5;

int[][] gameBoard = new int[][]{
{ 1, 2, 3, 4, 5},
{ 2, 0, 0, 0, 0},
{ 3, 0, 0, 0, 0},
{ 4, 0, 0, 0, 0},
{ 5, 0, 0, 0, 0}
};

while(a != b)
{
if(j == 5)
{
i++;
j = 0;
a++;
System.out.println();
}

System.out.printf("%d ",gameBoard[i][j]);

j++;

}
}
}

编译器抛出此错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at Game.main(Game.java:30)

最佳答案

您允许 i继续递增,直到大于 4,然后就超出了数组的限制。数组不会神奇地变大 - 您必须控制索引大小!

我怀疑您不(只是)想要a!=b条件也是i<5

关于java - 成功打印康威生命游戏的初始游戏板时出现编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22338314/

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