在 Java 中使用递归函数打印 N 次 'a' 和 N 次 'b'

Printing N times 'a' and N times 'b' using a Recursive function in Java

所以,C中的递归函数如下:

void print(int n){
    if(n==1){
       printf("ab");
     return;
    }
     putchar('a');
     print(n-1);
     putchar('b');
 }

将为您提供输出:aaabbb 如果 n=3。 但是,我试图将此 'translate' 转换为 Java 并提出了一个问题。 我在 Java 中的代码如下所示:(非常相似)

   public static void printAB(int n){
        if (n==1) {
            System.out.println("ab");
        }else {
            System.out.print("a");
            printAB(n-1);
            System.out.print("b");
        }
    }

但我得到的输出是这样的:

aaab
bb

无论我如何尝试,我都无法将最后 2 个 'b' 固定在同一行中。

请帮忙?

变化:

System.out.println("ab");

至:

System.out.print("ab");

所以没有打印换行符。

完整代码:

public static void printAB(int n) {
    if (n == 1) {
        System.out.print("ab");
    } else {
        System.out.print("a");
        printAB(n - 1);
        System.out.print("b");
    }
}

printAB(3)的输出:

aaabbb