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);
}
这段代码给了我想要的输出,它基本上是字符串的第一个字母并打印'x'次:
示例:
when my
String = Hello
and x = 6
HHHHHH
我的问题是我希望这种方法以相同的方式工作,但不使用'System.out.print()'行。我是否需要添加第二个字符串?如果没有,我应该采取什么方法?
答案 0 :(得分:3)
好的,我发现你需要它是递归的。
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" + (""))))))
答案 1 :(得分:0)
是的,你可以添加第二个字符串。而不是" System.out.print"您可以将word.charAt(0)的值赋给该变量。
伪代码 -
String output="";
转发器方法中的代码行
output=output+convert.tostring(word.charAt(0))
即:
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);
}
}