Ошибка при использовании простых операторов IF, булевых переменных и матриц
Я пишу программу, которая указывает, есть ли путь в лабиринте, который представляет собой матрицу символов. Мой первый шаг - убедиться, что первые и последние строки содержат определенный символ. код очень прост, но он работает наоборот. Это код:
public static void main (String [] args) {// TODO Автоматически сгенерированная заглушка метода
final int ROWS = 5;
final int COLUMNS = 6;
int entryIndex = -1, exitIndex = -1, row;
boolean work = true;
boolean entryFound = false;
boolean exitFound = false;
char maze[][] = { {'a', '|', 'a', 'a', 'a', '|'},
{'a', 'a', 'a', 'a', 'a', '|'},
{'a', 'a', 'a', 'a', 'a', '|'},
{'a', 'a', 'a', 'a', 'a', '|'},
{'a', 'a', 'a', 'a', 'a', '|'} };
for (int col=0; col < COLUMNS; col++) {
if (maze[0][col] == '|') {
entryFound = true;
entryIndex = col;
}
for (int col2=0; col2 < COLUMNS; col2++) {
if (maze[ROWS-1][col2] == '|') {
exitFound = true;
exitIndex = col2;
}
if (entryFound == false || exitFound == false) {
//work = false;
System.out.println("No entry or exit for the maze had been found. Quitting");
return;
}
В конце я получаю сообщение "Вход или выход не найдены". Как это могло произойти? Что может пойти не так?
1 ответ
Спасибо dasblinkenlight, теперь это работает. В этом случае я получил сообщение "Вход или выход не найден", хотя они существуют.