package com.hainui.two_d_array;

import java.util.*;

public class TwoDArrayDamo {
	public static Scanner Row = new Scanner(System.in);

	public static void main(String[] abc) {
		System.out.println("input rows you want to");
		int rows = Row.nextInt();
		int a[][] = new int[rows][rows];

		for (int i = 0; i < rows; i++) {
			a[i][0] = a[i][i] = 1;/*注意这里一定要写a[i][i]=1,不可以写a[i][j]=1,否则输出0*/
			System.out.format("%" + (rows - i) * 2 + "s", "");
			/*这里打印每行第一列前面的空格,每行前的空格按行数的增加依次递减*/
			for (int j = 0; j <= i; j++) {
				if (i > 1 && j > 0 && j < i) /* 从i=2开始,即第三行开始,首个元素和末个元素之间的每一个元素i>0,0<j<i, 等于上一行本列元素+上一行前一列元素}*/
				{
					a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
					System.out.format("%4d", a[i][j]);
				} else {
					System.out.format("%4d", 1);
				}
			} 
			System.out.println();

		}
	}
}

用java的二维数组写出杨辉三角形,输入数字n输出n行
效果如图

相关文章: