Это задание для школы. У меня возникают проблемы с пониманием, как я могу напечатать следующее рекурсивно:Печать текста с интервалом рекурсивно
This was written by call number 2.
This was written by call number 3.
This was written by call number 4.
This ALSO written by call number 4.
This ALSO written by call number 3.
This ALSO written by call number 2.
This ALSO written by call number 1.
я не уверен, если я должен иллюстрировать петлю против рекурсии или, если есть способ, чтобы напечатать все это рекурсивно. Кроме того, как бы я пошел на обратный вызов рекурсии, чтобы он начинался с 4 в соответствии с примером вывода?
Это мой текущий выход.
This was written by call number 2.
This was written by call number 3.
This was written by call number 4.
This ALSO written by call number 1.
This ALSO written by call number 2.
This ALSO written by call number 3.
This ALSO written by call number 4.
Там нет разноса реализован в цикл пока б/с Я не уверен, если эта часть также должна быть рекурсивными.
Моего код:
public class Recursion {
public static void main(String[] args) {
for (int i = 2; i < 5; i++) {
System.out.println("This was written by call number " + i + ".");
}
recurse(4);
}
public static void recurse(int n) {
String temp = "";
for (int i = 0; i < n; i++) {
temp += " ";
}
if (n < 2) {
System.out.println("This ALSO written by call number " + n + ".");
}
else {
recurse(n - 1);
System.out.println(temp + "This ALSO written by call number " + n + ".");
}
}
Чтобы облегчить это, я бы рекомендовал использовать 2 отличительные функции. Один печатает линию после рекурсивного вызова, другой печатает ее до. – bestsss
@MichaelJames Нет, нет необходимости использовать 2 функции. Я нахожусь в середине написания ответа ... – ajb
Вы можете сделать это с помощью одной функции, а затем, вероятно, нужно либо с жестким кодом 4, либо сохранить его в качестве второго параметра. Обычно я бы записывал рекурсию в обратном порядке - с помощью одной функции, необходимой для увеличения счетчика. В любом случае рекурсивная функция составляет около 4 строк кода. – bestsss