Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用字符串的递归_Java_Recursion - Fatal编程技术网

Java 使用字符串的递归

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);

这段代码给出了我想要的输出,基本上就是获取字符串的第一个字母并将其打印“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" + (""))))))