递归Java三角形



我不知道如何解决这个问题

考虑下面的printTriangle方法,它递归地输出一个三角形模式:

public static void printTriangle (int s)
{
      if (s < 1) return;
printTriangle (s-1);
for (int i = 0; i < s; i++)
{
    System.out.print( "[]");
}
System.out.println ();
}

对printTriangle做一些小修改,使输出的行与原始方法产生的行相反。

printTriangle (s-1);行移动到方法的末尾,您将得到您想要的结果。你能解释一下原因吗?:)

完整代码:

public class Play {
    public static void main(String[] args) {
        printTriangle(5);
    }
    public static void printTriangle (int s)
    {
        if (s < 1) return;
        for (int i = 0; i < s; i++)
        {
            System.out.print( "[]");
        }
        System.out.println ();
        printTriangle (s-1);
    }
}

[][][][][]
[][][][]
[][][]
[][]
[]

最新更新