package test; public class YangHuiSanJiao { public static void main(String[] args) { //杨辉三角有什么特点 //外层都是1,内层数是两个数的和 /*1 11 121 1331 14641*/ //大概的思路就是声明一个二维数组 int[][] i = new int[10][]; //为什么这里还可以再new一个数组 //每一行就是一个数组,每一个数组中,又包含一个数组 //现在相当于有10个数组,但是这十个数组的元素不固定,需要通过for循环来赋值 //第一个数组没有什么规律,就是只有一个数,而且是1,所以直接指定 //一般来说,应该是i[0]=某一个数,但是这里是一个数组, //然后指定第一行这唯一的一个数就是1 i[0] = new int[1]; i[0][0] = 1; for (int j = 1; j < i.length; j++) { i[j] = new int[j+1]; i[j][0] = i[j][j] = 1; //中间元素如何指定 for (int j2 = 1; j2 < j; j2++) { i[j][j2] = i[j-1][j2-1] + i[j-1][j2]; } } //现在开始输出元素 for (int j3 = 0; j3 < i.length; j3++) { //二维数组如何遍历 for (int k = 0; k < i[j3].length; k++) { System.out.print(i[j3][k]+" "); } System.out.println(); } } }