У меня есть текстовый файл, представляющий здание. В здании есть полы, а полы - номера.Рекурсия Java над текстовым файлом
Первый этаж этаж 0.
Текстовый файл структурирован следующим образом:
Description
Image
North
East
South
West
Up
Down
Где север, восток, юг, запад, вверх и вниз целые числа, обозначающие номер, что направление ведет к. Целое число -1 используется для обозначения того, что в этом направлении нет выхода.
Это повторяется для количества комнат, которые имеет здание.
Так в течение четырех комнат содержимое текстового файла может быть:
this is room 0
somefilepath
1
-1
-1
-1
2
-1
this is room 1
somefilepath
-1
-1
-1
0
-1
-1
this is room 2
somefilepath
-1
-1
-1
-1
3
0
this is room 3
somefilepath
-1
-1
-1
-1
-1
2
Я пытаюсь написать рекурсивную функцию, которая позволит мне рассчитать количество этажей в здании на основе вверх значения. Например, если у нас есть комната, которая поднимается до 1-го места, а комната 1 поднимается в комнату 2, и никакие другие номера не выходят выше этого, тогда мы знаем, что есть 3 этажа.
Я знаю, как использовать объект BufferedReader или Scanner для чтения текстового файла, но рекурсия - это то, о чем я беспокоюсь.
Я хочу сказать спасибо заранее, сообщество здесь удивительно.
Мой метод расчета количества этажей (неполное и может быть неправильным):
public int calculateFloors(int previousUp, int currentRoom) {
Scanner scanner;
int total = 0;
try {
scanner = new Scanner(currentMap);
while (scanner.hasNextLine()) {
scanner.nextLine();
scanner.nextLine();
scanner.nextLine();
scanner.nextLine();
scanner.nextLine();
scanner.nextLine();
int up = Integer.parseInt(scanner.nextLine());
scanner.nextLine();
if (up > 0) {
// do something
if (currentRoom == previousUp) {
// do something
}
}
currentRoom++;
}
} catch (Exception e) {
e.printStackTrace();
}
return total;
}
Стандартный вопрос: что вы пробовали? С какой частью у вас проблемы? У вас есть код, который показывает, что вы имеете в виду и каким образом он не работает? – vanza
@vanza Я уже опубликовал свой метод, так как вы можете видеть, что я не уверен, как реализовать рекурсию. – Ciphor
Определение рекурсии - это метод, который определяется в терминах самого себя. Что касается программирования, это метод, который вызывает себя. http://www.dummies.com/how-to/content/what-is-recursion-in-java-programming.html – James