1 package com.atguigu.exer;
2 /*
3 * 使用二维数组打印一个10行杨辉三角
4 1
5 1 1
6 1 2 1
7 1 3 3 1
8 1 4 6 4 1
9 1 5 10 10 5 1
10 ...
11 【提示】
12 1.第一行有一个元素,第n行有n个元素
13 2.每一行的第一个元素和最后一个元素都是1
14 3.从第三行开始,对于非第一个元素和最后一个元素的元素
15 yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
16 */
17 public class TestYangHui {
18 public static void main(String[] args) {
19 int[][] yangHui = new int[10][];
20 //1.初始化二维数组
21 for(int i = 0;i < yangHui.length;i++) {
22 yangHui[i] = new int[i + 1];
23
24 }
25 //2.显式地为二维数组的每个元素赋值
26 for(int i = 0;i < yangHui.length;i++) {
27 for(int j = 0;j < yangHui[i].length;j++) {
28 yangHui[i][0] = yangHui[i][i] = 1;
29
30 if(i > 1 && j > 0 && j < i) {
31 yangHui[i][j] = yangHui[i-1][j-1]+yangHui[i-1][j];
32 }
33 }
34 }
35
36 //遍历二维数组
37 for(int i = 0;i < yangHui.length;i++) {
38 for(int j = 0;j < yangHui[i].length;j++) {
39 System.out.print(yangHui[i][j] + "\t");
40 }
41 System.out.println();
42 }
43
44
45 }
46
47 }