gpt4 book ai didi

java - 递归开关返回字符串

转载 作者:行者123 更新时间:2023-12-01 23:28:56 27 4
gpt4 key购买 nike

我是递归新手,但我仍然对这个问题感到困惑。

这是代码

 public class TestRecursion { 
public static void main(String[] a) {
System.out.println(Recurse("Yes", 1));
}

public static String Recurse(String s, int n) {
if (n < 5)
return s+Recurse(s + n, n + 1);
else
return "End";
} // end Recurse()
}

所以这个问题的答案是:

YesYes1Yes12Yes123End

问题是为什么当我将返回切换到时首先打印“结束”

 return Recurse(s + n, n + 1) + s; 

注意 s 现在位于递归之后

结果如下:

EndYes123Yes12Yes1Yes

最佳答案

“End”放置在计算字符串最后一部分的位置。当您执行 s + recurse 时,最后一部分将最后评估。当您执行 recurse + s 时,最后会评估 start。

关于java - 递归开关返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19623479/

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