public class PrintPyramid {
//利用嵌套循环打印数字三角形
public static void main(String[] args) {
int numberOfLine = 20;//行数,此程序适用于100行以内,100行外不会竖列对齐
for(int row = 1;row <= numberOfLine;row++){
for(int column = 1;column <= numberOfLine - row;column++){
System.out.print("   ");//三个空格
}
for(int num = row;num >= 1;num--){
System.out.print((num >= 10)?" " + num:"  " + num);
}//第一个引号里一个空格,第二个引号里两个空格
for(int num = 2;num <= row;num++){
System.out.print((num >= 10)?" " + num:"  " + num);
}//第一个引号里一个空格,第二个引号里两个空格
System.out.println();
}
}
}结果为
                                                           1
                                                        2  1  2
                                                     3  2  1  2  3
                                                  4  3  2  1  2  3  4
                                               5  4  3  2  1  2  3  4  5
                                            6  5  4  3  2  1  2  3  4  5  6
                                         7  6  5  4  3  2  1  2  3  4  5  6  7
                                      8  7  6  5  4  3  2  1  2  3  4  5  6  7  8
                                   9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9
                               10  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9 10
                            11 10  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9 10 11
                         12 11 10  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9 10 11 12
                      13 12 11 10  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9 10 11 12 13
                   14 13 12 11 10  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9 10 11 12 13 14
                15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
             16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
          17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
       18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18
    19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19
 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
这个程序只能打印出99行以内的数字,
但大于等于100行后,数字就会呈不规则状态,原因是空格数不正确,
大家讨论下当行数为三位数时,空格应该为多少,
当行数为四位数时呢?