gpt4 book ai didi

java - 如何保留数组中的内容?

转载 作者:行者123 更新时间:2023-12-01 17:00:45 24 4
gpt4 key购买 nike

该类用于存储和处理游戏中的棋盘。

static class Board
{
boolean[][] array;

private void reset()
{
array = new boolean[][]
{
{false, false, false},
{false, false, false},
{false, false, false}
};
}

private void mark(int row, int col)
{
array[row][col] = true;
}
}

这是主要方法。

public static void main(String args[])
{
new Board().reset();
new Board().mark(0,0);
}

程序启动时,我使用重置方法初始化板。然后,我使用“mark”将其中一个 boolean 值从 false 更改为 true。

我在 array[row][col] = true; 处收到 null 异常错误,因为该数组为 null。

如何编辑代码以使数组不会变为 null 并且 mark() 可以正确地将值写入数组?

最佳答案

不要创建 Board 的两个实例。创建一个实例并在同一实例上调用这两个方法。

public static void main(String args[])
{
Board board = new Board();
board.reset();
board.mark(0,0);
}

当您为每个方法调用创建新的 Board 实例时,将为 array 成员未初始化的实例执行 mark 方法,导致 NullPointerException

关于java - 如何保留数组中的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27759128/

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