/*
总结一下,第二遍敲代码的问题:
首先,对嵌套循环的 for for结构谁代表行数,谁代表列数弄混淆了
其次,对二维数组的内层循环赋值时,忘记对其开辟空间了
最后,对内层循环的初始值和循环条件不甚理解
*/
public class yangHuiTest_01 {
public static void main(String[] args) {
int yangHui[][] = new int[10][]; // 创建二维数组
// 利用for 给外层元素赋值
for (int i = 0; i < yangHui.length; i++) {
yangHui[i] = new int[i +1]; //为内层循环开辟空间,开辟空间之后才可赋值
yangHui[i][0] = yangHui[i][i]=1; //给每行第一个和最后一个元素赋值
//利用for给内层其他元素赋值
for (int j = 1; j < yangHui[i].length-1; j++) { //对于 int j = 1; j < yangHui[i].length-1;
//对于这个初始条件和循环条件,是因为前面对每一行的第一个和最后一个已经赋值了
yangHui[i][j] =yangHui[i-1][j]+yangHui[i-1][j-1];
}
}
//遍历二维数组,输出杨辉三角
for (int i = 0; i < yangHui.length ; i++) {
for (int j = 0; j < yangHui[i].length ; j++) {
System.out.print(yangHui[i][j]+"\t"); //for for 嵌套 第一个for是行,第二个for是列
}
System.out.println();
}
}
}