我想使用递归函数打印输入的数字,而不是零。我们采用一种叫做void demo(int n)的方法。例子为n = 5“5 4 3 2 1 2 3 4 5”。我可以打印“5 4 3 2 1”。我的递归函数是demo(n-1)所以我可以打印。当函数达到n = 0时,我认为它必须重写值,但如何?我无法在if块中写任何内容。
public class demo {
void demo(int n) {
if ( n == 0)
{
}
System.out.println(n);
return demo(n-1);
}
}
答案 0 :(得分:1)
这就是我要做的事情:
public class demo {
void demo(int n) {
System.out.println(n);
if (n > 1) {
demo(n - 1);
System.out.println(n);
}
}
}
它不是尾递归,但这是递归比迭代更简单的情况。
如果你迭代那么你需要两个循环:
n
到1
倒计时的一个循环。2
到n
的另一个循环计数。但是,使用递归我们可以简单地从n
倒计时到1
并打印每个数字,然后在递归后再次打印数字。