gpt4 book ai didi

java - 递归:不明白为什么代码会打印出n个整数1,2,3,4,5

转载 作者:行者123 更新时间:2023-11-30 07:48:41 25 4
gpt4 key购买 nike

我的预期结果是不会打印任何东西

在下面的示例中,如果我尝试阅读代码 xMethod(5)因为当 =0 时它是一个递归函数,即 xMethod(0) 我期望它不应该进入 if 语句。

我对这段代码的期望是不应该有输出,因为打印语句在递归方法之后

public class recursionThree {

public static void main(String[] args) {
xMethod(5);
}

public static void xMethod(int n){
if (n > 0){
xMethod(n-1);
System.out.print(n + " ");
}
}
}

最佳答案

您需要单步执行程序:

  • main 调用 xMethod(5)
    • n > 0,所以它调用 xMethod(4)
      • n > 0,所以它调用 xMethod(3)
        • n > 0,所以它调用 xMethod(2)
          • n > 0,所以它调用 xMethod(1)
            • n > 0,所以调用xMethod(0)
              • n 不是 > 0,所以它什么都不做就返回
            • 打印“1”
          • 打印“2”
        • 打印“3”
      • 打印“4”
    • 打印“5”
    • 完成。

关于java - 递归:不明白为什么代码会打印出n个整数1,2,3,4,5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48971421/

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