У меня есть метод, который должен возвращать перечисление, однако я не уверен, как его кодировать (это упражнение из моей статьи). Ниже приведен метод (в классе Maze):
private MazeStatus[][] stringToMaze(String sMaze) {
String[] splitString = sMaze.split("\n");
char[][] array = new char[splitString.length][];
MazeStatus[][] mazeStat;
for (int x = 0; x < splitString.length; x++) {
array[x] = new char [splitString[x].length()];
array[x] = splitString[x].toCharArray();
for (int y = 0; y < splitString[x].length(); y++) {
switch (array[x][y]) {
case '.':
mazeStat[x][y] = MazeStatus.VISITED;
break;
}
}
}
return null; // TO DO (Part 1): change appropriately
}
Вот класс MazeStatus:
public enum MazeStatus {
OPEN(' '), OBSTACLE('#'), GOAL('x'), VISITED('.');
private char text;
MazeStatus(char s) {
this.text = s;
}
public char text() {
return this.text;
}
}
В методе, который я пытался создать перечисление
MazeStatus [] [] mazeStat;
и добавление к нему значений:
mazeStat [x] [y] = MazeStatus.VISITED;
Но, конечно, он жалуется на то, что он не инициализирован. Я не знаю, как инициализировать перечисление, особенно перечисление двумерного массива, без создания фактического объекта Maze.
Как всегда, вся помощь приветствуется!