二维数组是对一维数组的进一步加工,如果你初步掌握了一维数组。那么相信二维数组也是很简单的,在这里讲解一下本人对经典例题二维数组之杨辉三角的理解。
六行的杨辉三角:
package Erweishuzu;
public class Yanghuisanjiao {
public static void main(String[] args) {
int[][] arr = new int[6][];
//在这里每一行的元素数量都是不同的,所以我们在这里只定义行数。
for (int i = 0; i < arr.length; i++) {
//在这里就是一个for循环来给每一行的元素进行赋值。
arr[i] = new int[i + 1];
//这一步也是非常的重要,这里就是来定义杨辉三角每一行到底有几个元素。
for (int j = 0; j < arr[i].length; j++) {
if (j == 0 || j==arr[i].length - 1) {
arr[i][j] = 1;
//在这里就是定义出现在杨辉三角中的1:每一行的第一个与最后一个都是1.
} else {
arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
/*这里就是根据杨辉三角的规律,来让代码执行计算过程,给每一行的其它位置
元素进行赋值(就是除了每一行的第一个与最后一个元素)*/
}
}
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]);
//这里就是通过遍历来输出杨辉三角。
}
System.out.println();
//这里就是每一行输出之后进行的换行操作。
}
}
}