Рекурсия Java печатает звездочки из одного вызова методаJAVA

Программисты JAVA общаются здесь
Anonymous
Рекурсия Java печатает звездочки из одного вызова метода

Сообщение Anonymous »

У меня есть задание по знакомству с рекурсией в 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, используя следующую строку кода:

Код: Выделить всё

    System.out.println(myMethod(n, null));
Я попробовал его версию, и она печатает треугольник на своей стороне, но самая большая линия печатается только один раз, а не два. Я провел весь день, пытаясь изменить его, добавив дублирующую строку посередине, и начинаю думать, что это невозможно.

Любая помощь будет ОЧЕНЬ признательна. У меня с этим полный тупик.

Вернуться в «JAVA»