如何在Java中编辑来自另一个类的数组

Leo*_*onH 8 java arrays static

我创建了一个2d数组(用作游戏板),在另一个类中我想获取我的数组并能够对其执行操作.

我的数组定义(在课堂上PlayingBoard):

public char[][] myGrid = new char[12][12];
Run Code Online (Sandbox Code Playgroud)

现在我想从我项目中的其他类操作这个数组.我试着打电话给该网格中它的类没有定义

int i, j;
for(i = 0; i < 12; i++) {
    for(j = 0; j < 12; j++) {
        PlayingBoard.myGrid[i][j] = 'x';
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到错误:

myGrid无法从静态上下文引用非静态变量

如何myGrid从第二堂课中参考,编辑和操作?

小智 6

你必须改变以下两件事之一:

  1. 声明myGrid为静态

    public static char[][] myGrid = new char[8][8];
    
    Run Code Online (Sandbox Code Playgroud)
  2. myGrid通过对象实例访问:

    PlayingBoard pb = new PlayingBoard();
    int i, j;
    for(i = 0; i < 12; i++) {
        for(j = 0; j < 12; j++) {
            pb.myGrid[i][j] = 'x';
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)