У меня есть задание по знакомству с рекурсией в Java, и я столкнулся с препятствием. Для присваивания требуется метод рекурсии для вывода количества строк с количеством звездочек в зависимости от переданного ему целочисленного значения. Например, если в качестве переменной n передается число 4, выходные данные будут иметь первую строку с одной звездочкой, следующую строку - 2 звездочки, следующие 3 звездочки, следующие 4, затем 4, 3, 2 и 1, идущие вниз.
Мне удалось завершить первую половину вывода (хотя я не уверен, что это оптимально), но понятия не имею, как заставить метод вернуться обратно. Все это нужно сделать за один вызов метода с передачей переменной (n) методу.
Вот метод, который у меня есть на данный момент:
Код: Выделить всё
public static void myMethod(int n)
{
if (n 0){
return myMethod((n - 1), (currentStr + displayStr + currentStr));
}
else {
return displayStr;
}
} // end recursion method myMethod
Его версия печатается из main, используя следующую строку кода:
Я попробовал его версию, и она печатает треугольник на своей стороне, но самая большая линия печатается только один раз, а не два. Я провел весь день, пытаясь изменить его, добавив дублирующую строку посередине, и начинаю думать, что это невозможно.
Любая помощь будет ОЧЕНЬ признательна. У меня с этим полный тупик.
Подробнее здесь:
https://stackoverflow.com/questions/161 ... ethod-call