Java Pascal三角形的格式

Java Pascal三角形的格式,java,spaces,pascals-triangle,Java,Spaces,Pascals Triangle,我必须打印帕斯卡的三角形,所以它的每一边都应该有数字1,三角形的格式应该在每一边都是均匀的,现在它的右边更长了。我的代码: public static void main(String[] args) { printPascalTriangle(10); } public static void printPascalTriangle(int size) { for (int i = 0; i <= size; i++) { System.out.

我必须打印帕斯卡的三角形,所以它的每一边都应该有数字1,三角形的格式应该在每一边都是均匀的,现在它的右边更长了。我的代码:

    public static void main(String[] args) {
    printPascalTriangle(10);
}

public static void printPascalTriangle(int size) {
    for (int i = 0; i <= size; i++) {
        System.out.println();
        for (int j = 0; j <= (size - i); j++) {
            System.out.print(" ");
        }
        for (int j = 0; j <= i; j++) {
            System.out.print(" " + (i + j));
        }
    }
}
为什么不能总结呢?为什么循环不能正确格式化空格?

您应该使用printf方法,而不是使用具有正确参数的print来格式化输出:

公共静态无效printPascalTriangleint行{ 对于int i=0;i对于int j=0;j,原因很简单:较大的数字需要更多的打印空间,因此需要相应地调整空白。您在每行中放置一个递增序列。在帕斯卡三角形中,一行中的数字增加到中心,然后减少,因此是对称的。那么我应该如何更改它以使其工作?这是我的第三个任务,我不知道怎么做。
         0
        1 2
       2 3 4
      3 4 5 6
     4 5 6 7 8
    5 6 7 8 9 10
   6 7 8 9 10 11 12
  7 8 9 10 11 12 13 14
 8 9 10 11 12 13 14 15 16
9 10 11 12 13 14 15 16 17 18