s55*_*chi 0 java string recursion expand function
我想创建一个方法,用另一个字符串递归扩展输入字符串.
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);
}
}
Run Code Online (Sandbox Code Playgroud)
输出应该是:
Helloblablablablablablabla
Run Code Online (Sandbox Code Playgroud)
相反它
Hellobla
Run Code Online (Sandbox Code Playgroud)
主要方法必须不受影响(方法调用除外).
你忽略了递归调用的返回.
public static String addZeichenkette(String out, int i)
{
if (i > 0)
{
out += "bla";
i--;
out = addZeichenkette(out, i);
}
return out;
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以返回结果addZeichenkette(out, i);,但两种方式都可以.
正如您所指出的,您需要对其进行修改以避免添加i+1bla.从那时起i = 0,我们不希望添加任何bla,我们需要检查这一点.
为此,我将连接bla进入了条件.