我正在尝试创建一个递归方法,该方法向后返回一个单词并在它之间加上破折号。 这是我的代码:
public static String expand (String word)
{
if (word.length () <= 1)
{
return word; //Return Original word
}
else
{
return word.substring (word.length () + 1 , word.length ()) + "-" + expand (word.substring (word.length ()));
}
}
它不起作用;它只是用短划线返回一个字母。我该如何解决?
答案 0 :(得分:3)
public static String expand(String word) {
if (word.length() <= 1) {
return word; //Return Original word
} else {
return word.substring(word.length() - 1) + "-" + expand(word.substring(0, word.length() - 1));
}
}
希望这有帮助。
答案 1 :(得分:1)
你可以使用递归来完成它,就像这样:
String s = "value";
StringBuilder sb = new StringBuilder();
for (int i = (s.length() - 1); i >= 0; i--) {
sb.append(s.charAt(i));
sb.append("-");
}
System.out.println(sb.toString());
}