如何使用Java递归打印(但不返回)String?

Eli*_*iel 1 java recursion

我讨厌滥用SO做作业,但我在泡菜.基本上,我的导师要我这样做:

编写递归方法以向后打印String.

  • 方法标题是:public void printBackwards1(String s)
  • print语句必须在递归调用之前.
  • 该方法不应改变或反转String,只能向后打印.

之后,他们希望我做同样的事情,但在通话后有打印声明.

我很难过.我已经掀起了一个普通人的递归方法:

public static String reverseString(String input) {
        if(input.equals("")) {
            return input;
        }
        else {
            return(reverseString(input.substring(1)) + input.substring(0, 1));
        }
}
Run Code Online (Sandbox Code Playgroud)

但印刷品让我摸不着头脑.提前致谢!

Era*_*ran 7

只需打印当前连接到字符串的任何内容:

public static void reverseString(String input) {
    if(input.equals("")) {
        return;
    }
    else {
        reverseString(input.substring(1));
        System.out.print(input.charAt(0));
    }
}
Run Code Online (Sandbox Code Playgroud)

或更短:

public static void reverseString(String input) {
    if(input.length() > 0) {
        reverseString(input.substring(1));
        System.out.print(input.charAt(0));
    }
}
Run Code Online (Sandbox Code Playgroud)