【发布时间】:2016-04-16 00:26:41
【问题描述】:
当我为 n=5 运行这段代码时,我得到的输出是“5 3 1 1 3 5”
我得到了 5 3 1 部分,但在那之后 n=-1 但是当我使用调试器运行代码时,当 n=-1 时,它会转到 numbers(n-2);ie System.out.prt(n+ ""); 之后的行,即使该语句包含在如果阻塞。
为什么会这样?
public void numbers(int n)
{
if(n>0)
{
System.out.print(n+" ");
numbers(n-2);
System.out.print(n+" ");
}
}
TLDR : 当 n=-1 System.out.prt(n+ "");即使它在 if 块内,只在 n>0 时运行。
任何帮助将不胜感激。提前致谢!
【问题讨论】:
标签: java function if-statement recursion