gpt4 book ai didi

java - 我正在尝试使用助手编写一个递归静态方法来反转字符串。为什么我收到 "stack overflow?"

转载 作者:行者123 更新时间:2023-12-01 20:22:44 25 4
gpt4 key购买 nike

正如标题所说,我想在 Java 中编写一个静态方法,它接受一个字符串(如“hello!”)并使用辅助递归方法反转它。但是,我收到堆栈溢出错误。我的代码是:

  public static String reverse2(String text){
return reverseHelp(text, "", text.length()-1);
}

public static String reverseHelp(String text, String newString, int index) {
if(index <= 0){
return newString;
}
else
{
index = text.length()-1;
return newString = text.charAt(index) + reverseHelp(text, newString, index - 1);
}

}

我想做的是将最后一个字符附加到新字符串中。我怎样才能让它发挥作用?

最佳答案

您每次都将索引设置为text.length() - 1。您实际上并没有获取索引的值(您将其作为参数传递,但每次都会覆盖它)。由于您实际上并未更改字符串的长度,因此您永远无法突破递归函数,因此会出现堆栈溢出错误。

关于java - 我正在尝试使用助手编写一个递归静态方法来反转字符串。为什么我收到 "stack overflow?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44361186/

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