gpt4 book ai didi

Java递归性的误解

转载 作者:行者123 更新时间:2023-12-01 17:51:36 24 4
gpt4 key购买 nike

我不明白这段代码,为什么它会增加。如果我使用递归调用更改 print 语句中的顺序,这对我来说很有意义,但这就是它计数的原因。在书中,它说“System.out.println 发生在每个递归调用返回之前。因此,它是向上计数而不是向下计数。”我不明白它。感谢你的帮助。

    public static void countdown(int n)
{
if (n == 0)
{
System.out.println("Blastoff!");
}
else
{
countdown(n - 1);
System.out.println(n);

}
}

最佳答案

因此,如果 n != 0,您的程序将在“else” block 中运行代码,其中又调用了 countdown(n-1) 方法。例如,如果您设置 n = 3,则只要 n > 0,此代码就会运行。因此,基本上运行方法 run 本身,如下所示:

countdown(3) 调用 countdown(2) 方法,然后 countdown(2) 调用 countdown(1)。只要 n 大于 0,就会发生这种情况。如果 n == 0,它将打印您的消息。

关于Java递归性的误解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49491062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com