1.实现10行的杨辉三角
package cn.xuguowen.exer;
/*
* 使用二维数组打印一个10行的杨辉三角
* tips:
* 1.第一行有1个元素,第n行有n个元素
* 2.每一行的第一个元素和最后一个元素都是1
* 3.从第三行开始,对于非第一个元素和非最后一个元素,存在这样的规律:
* yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j]
*/
public class ArrayTest03 {
public static void main(String[] args) {
// 1.创建二维数组(动态初始化指定二维数组的长度,但是二维数组中的每一个一维数组的长度没有指定)
int[][] yanghui = new int[10][];
// 2.遍历二维数组,进行赋值操作
for(int i = 0; i < yanghui.length; i++){
// 2.1根据提示1知道n行就有n个元素(注意:索引是从 0 开始的)
yanghui[i] = new int[i + 1];
// 2.2给每行首尾的元素进行赋值
yanghui[i][0] = yanghui[i][i] = 1;
// 2.3从第三行开始,注意索引为0(其实不用判断,因为j的初始化条件为1,第一列和第二列无法进入for循环)
// if(i > 1){
for(int j = 1; j < yanghui[i].length - 1; j++){
// 2.4经过循环每列,将元素赋值到每列上(从第一列开始)
yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
}
// }
}
// 遍历二维数组
for(int i = 0; i < yanghui.length; i++){
for(int j = 0; j < yanghui[i].length; j++){
System.out.print(yanghui[i][j] + " ");
}
System.out.println();
}
}
}