package LocalSend;
public class YHTriangle {
public static void main(String[] args) {
// TODO Auto-generated method stub
int deep = 10;
int[][] a = new int[deep][]; // 不规则定义二维数组
for (int i = 0; i < deep; i++) { // 给每一行定义列的数量
a[i] = new int[i + 1];
}
for (int i = 0; i < deep; i++) { // 两边全部设置为1
a[i][0] = 1;
a[i][a[i].length - 1] = 1;
}
for (int i = 2; i < deep; i++) { // 计算中央每一个位置的数值
for (int j = 1; j < i; j++) {
a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
}
}
for (int i = 0; i < deep; i++) { // 打印
for (int space = 0; space < deep - i; space++) {
System.out.print(" "); // 输出空格,使得符合三角模型,这个空格是每行数值之前的空格
}
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j] + " "); //后面这个控制每个数值之间的间隔
}
System.out.println("");
}
}
}
输出结果:
这次虽然感觉好看了一下,但是还是感觉有些丑,因为右边的明显不平整,主要是因为有的数字是两位数或者三位数,占据的空间有些长了,后来我加大了每个数值之间的空格数量(由2变成了3),输出结果如下:
怎么样是不是觉得好看了一点点,如果再加大一个空格(由3到4):
你会发现,它的左右开始不平衡了,这时候,你可以让其右边的空格也增加一个:
感觉这个要好看一些了,主要就是控制数值之间的空隙,使其大于数值长度的增加误差就可以了
完美格式可以参考我的下一篇:杨辉三角——Java完美输出