【发布时间】:2015-01-07 05:53:15
【问题描述】:
我必须创建一个接收字符串的递归方法。它不能在这个方法中存储任何字符串。
public static String printBackwards(String s)
{
if (s.length() == 0)
{
return s;
}
else
{
return printBackwards(s.substring(1)) + s.charAt(0);
}
}
这就是我目前所拥有的
例如我输入了一个字符串,上面写着“你好”它返回到终端 o l l e h
【问题讨论】:
-
“一次返回字符串 1 个字符”是什么意思?你所拥有的似乎有效;我不明白你需要它做什么而不是做什么。
-
您能否给我们一些示例输入和预期输出?正如 ajb 已经提到的那样,我不太确定一次一个字符是什么意思。
-
您可以返回一个字符串,也可以返回一个字符,但不能一次返回一个字符。那没有意义。一个方法只返回一件事,而且只返回一次。
-
@JBNizet 好吧,您可能可以通过定义
Iterator一次返回一个字符String。不过,我有点怀疑这就是要求。另外,一想到要写一个递归迭代器就让我头疼。 -
关于您的编辑:如果您只想在字符之间添加额外的空格,那么您应该能够通过在某处连接空格来修复您的代码。
标签: java string recursion char