java消除Pascals三角形上的前导空格
我有一些下面的示例代码来打印帕斯卡三角形。(我在扫描仪上使用测试用例=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 楼答案
我认为现在发生的事情是,你正在以4个字符的“块”输出你的数字,这一行负责这一部分
下面的代码将把数字输出到“框”的左侧,尽管现在空格将是尾随的
这完全取决于n的最大值。例如,您可以决定每个数字将包含4个字符(如果所有数字实际上都是9999或更少,帕斯卡三角形有20行,则至少需要5个字符)。然后,您需要调整三角形每行中打印出的空格数