Java 使用字符串的递归
这段代码给出了我想要的输出,基本上就是获取字符串的第一个字母并将其打印“x”次: 例如:Java 使用字符串的递归,java,recursion,Java,Recursion,这段代码给出了我想要的输出,基本上就是获取字符串的第一个字母并将其打印“x”次: 例如: public static String repeater(int x, String word) { if (x > 0) { System.out.print(word.charAt(0)); } if (x == 0) { return ""; } else { return repeater(number-1, x);
public static String repeater(int x, String word) {
if (x > 0) {
System.out.print(word.charAt(0));
}
if (x == 0) {
return "";
} else {
return repeater(number-1, x);
}
我的问题是,我希望此方法以相同的方式工作,但不使用“System.out.print()”行。我必须添加第二个字符串吗?如果没有,我应该采取什么方法?是的,您可以添加第二个字符串。您可以为该变量指定word.charAt(0)的值,而不是“System.out.print” 伪码-
字符串输出=”代码>
在中继器方法内的代码行下方
output=output+convert.tostring(word.charAt(0))
i、 e:
好的,我知道你需要它是递归的
String output="";
public static void repeater(int x, String word) {
if (x > 0) {
output += convert.toString(word.charAt(0));
}
if (x == 0) {
return;
} else {
repeater(number-1, x);
}
}
这是怎么回事
为了理解这种递归,它就像数学中的嵌套括号一样工作
public static String repeater(int x, String word) {
if (x == 0) {
return "";
} else {
return word.charAt(0) + repeater(x - 1, word);
}
}
不幸的是,它必须是递归的。我很感激你能帮助我!:)这正是我想要做的。完美的谢谢你,哈塔!!这是不切实际的,但我只想说,这个社区真是不可思议。你们离开了这个世界,继续保持下去:)我有点不明白你们的意思。你能给我看看吗?
public static String repeater(int x, String word) {
if (x == 0) {
return "";
} else {
return word.charAt(0) + repeater(x - 1, word);
}
}
"H" + ("H" + ("H" + ("H" + ("H" + ("H" + (""))))))