我想递归添加一个字符串之间的短划线,但它不工作,它给我一个堆栈溢出错误。以下是我的代码:递归字符串操作期间堆栈溢出错误
public static String expand (String word)
{
int stringLength = word.length();
String expandedWord = word;
if (stringLength <= 1)
{
return expandedWord;
}
else
{
expandedWord = word.substring (0, (stringLength - stringLength) + 1) + "-" + word.substring ((stringLength - stringLength) + 1, stringLength);
stringLength++;
expand(word);
return expandedWord;
}
}
'word'永远不会改变,你的递归不会结束。 – Maroun
'(stringLength - stringLength)+ 1'总是会给你一个 – turbo
-1的错误标题。 – Kai