递归打印倒三角形

Print an upside down triangle recursively

我想弄清楚如何仅使用一个 for 循环递归地打印倒三角形。我不断收到错误消息。我能够打印第一行,但我很难回忆起打印剩余行和递减 n 的函数。

    public static void printTriangle (int n) {
        if( n == 0 ) 
            System.out.println("");
        for (int i = n; i >0; i--) {
            System.out.print("*");    
        }
        System.out.println();
        printTriangle(n-1);
    }

目前,当您应该在基本情况下结束递归时却没有。基本上,改变

if( n == 0 ) 
    System.out.println("");

if (n == 0) {
    System.out.println();
    return; // Add this. Otherwise your code will recurse forever.
}