Каждый раз, когда я называю myGrid
в методе generateBoard
, я получаю ошибку:Как ссылаться на 2D-массив из статического контекста?
non-static variable
myGrid
cannot be referenced from static context
В моем понимании, это не должно произойти, потому что я поставил массив быть открытыми и должны быть в состоянии быть доступ из любого другого класса. Так что я настроил массив неправильно?
import java.util.Random;
public class Zombies {
private int Level = 1;
private int MoveNo = 0;
public int[][] myGrid = new int[12][12];
public static void generateBoard() {
Random rand = new Random();
int i, j;
for (i = 0; i < 12; i++) {
for (j = 0; j < 12; j++) {
if (i == 6 && j == 6) {
myGrid[i][j] = 'P';
}
if (rand.nextInt(4) == 0) {
myGrid[i][j] = 'I';
}
myGrid[i][j] = 'x';
}
}
}
public static String printBoard() {
int i, j;
for (i = 0; i < 12; i++) {
for (j = 0; j < 12; j++) {
if (j == 0) {
System.out.print("| ");
}
System.out.print(myGrid[i][j] + " ");
if (j == 12) {
System.out.print("|");
}
}
}
}
}
В будущем выделите (со словами) строку, обозначенную сообщением об ошибке. Будет намного легче начать работу по этому вопросу. –