杨辉三角——java输出(完整格式)

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("");
		}

	}

}

输出结果:

杨辉三角——java输出(完整格式)_第1张图片

这次虽然感觉好看了一下,但是还是感觉有些丑,因为右边的明显不平整,主要是因为有的数字是两位数或者三位数,占据的空间有些长了,后来我加大了每个数值之间的空格数量(由2变成了3),输出结果如下:

杨辉三角——java输出(完整格式)_第2张图片

怎么样是不是觉得好看了一点点,如果再加大一个空格(由3到4):

杨辉三角——java输出(完整格式)_第3张图片

你会发现,它的左右开始不平衡了,这时候,你可以让其右边的空格也增加一个:

杨辉三角——java输出(完整格式)_第4张图片

感觉这个要好看一些了,主要就是控制数值之间的空隙,使其大于数值长度的增加误差就可以了

完美格式可以参考我的下一篇:杨辉三角——Java完美输出

你可能感兴趣的:(数据结构,杨辉三角,java,完美格式输出)