删除Pascals Triangle上的前导空格

时间:2016-10-19 08:17:16

标签: java

我在下面有一些示例代码来打印Pascals Triangle。 (我在扫描仪上使用测试用例= 14)代码可以工作,但结果中有前导空格。如何删除三角形前面的这些空格?

import java.util.Scanner;

public class PascalsTriangle {
    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        int rows = input.nextInt();

        for(int i = 0;i<rows;i++) {
            int pascal = 1;
            System.out.format("%"+(rows-i)*2+"s","");)

            for(int j=0;j<=i;j++) {
                 System.out.format("%4d", pascal);
                 pascal = pascal* (i - j) / (j + 1);
            }
            System.out.println();
    }


}
}

1 个答案:

答案 0 :(得分:0)

我认为正在发生的事情是你在4个字符串中输出你的数字&#39;这条线照看那部分;

String output = String.format("%4d", number);

以下内容会输出“&#39;”框左侧的数字。 - 虽然空白现在正在落后。

String output = String.format("%-4d", number);

这一切都取决于您将要使用的n的最大值。例如,您可以决定每个数字将占用4个字符(如果所有数字都是9999或更少 - 实际上,Pascal的三角形有20行,您需要至少5个字符)。然后,您需要调整在三角形的每一行中打印出的空格数。