Помощь с алгоритмом рекурсии
Есть алгоритм рекурсии:
алг Процедура1(арг цел n)
нач
если n > 0
то
вывод n
Процедура1(n – 1)
все
кон
Вот реализация:
static class recurs {
int proc1(int n) {
if (n > 0) {
return n; //Если "вывод n" это return,
new recurs().proc1(n - 1); //как запустить Процедуру1 без return?
}
return n;
}
Ответы (1 шт):
Автор решения: Miron
→ Ссылка
"Вывод n" - это не return, а System.out.println()(в общем случае - вывод пользователю значение переменной n в данный момент), если работаете с консолью. Второй return удалите - метод не должен ничего возвращать. Также он должен быть статическим - результат выполнения не зависит от переменных данного объекта recurs.
Итого:
public static void proc1(int n) {
if (n > 0) {
System.out.println(n);
proc1(n - 1);
}
}