gpt4 book ai didi

java - 简单的递归减法返回意外结果

转载 作者:太空宇宙 更新时间:2023-11-04 09:02:17 24 4
gpt4 key购买 nike

我正在尝试为我的一个项目找出递归。然而,它给了我一个意想不到的结果,它在达到基本情况后开始向后工作。我制作了这个简单的片段来演示。如果我将 3 传递给此方法,预期值将为 0。但是它返回 2 作为结果。有人可以解释一下为什么 i 在达到 0 后开始增加。提前致谢!

public static int sub(int i) {
if (i > 0) {
i--;
sub(i);
}
return i;
}

最佳答案

您忽略了 sub(i) 返回的值。

你可以写:

public static int sub(int i) {
if (i > 0) {
i--;
return sub(i);
}
return i;
}

或者只是

public static int sub(int i) {
return (i > 0) ? sub(i-1) : i;
}

关于java - 简单的递归减法返回意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60650463/

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