【发布时间】:2015-02-16 11:33:36
【问题描述】:
我想创建一个用另一个字符串递归扩展输入字符串的方法。
public class StringTest {
public static String addZeichenkette(String out, int i) {
out += "bla";
if (i > 0) {
i--;
addZeichenkette(out, i);
}
return out;
}
public static void main(String[] args) {
String out = "Hello";
out = addZeichenkette(out, 7);
System.out.println(out);
}
}
输出应该是:
Helloblablablablablablabla
而是
Hellobla
main 方法必须保持不变(方法调用除外)。
【问题讨论】:
-
那么,您的问题是什么?为什么它必须是递归的?
-
您遇到了什么问题?你试过什么?见:stackoverflow.com/help/on-topic
-
@MikeRylander 该函数不会多次添加字符串
-
您正在丢弃递归调用的输出。你可以在
addZeichenkette(out, i);之前添加一个return 语句来解决这个问题。 -
只是为了上下文,这里检查一下是因为(在写这篇文章的时候)log4j 错误,这里有很好的解释:youtube.com/watch?v=Opqgwn8TdlM
标签: java string function recursion expand