public class ArrayTest1 {
public static void main(String[] args) {
// 创建二维数组并初始化,并且内层数组长度不确定
int[][] yangHui = new int[10][];
// 赋值
// 遍历外层数组
for (int i = 0; i < yangHui.length; i++) {
// 初始化内层数组
yangHui[i] = new int[i + 1];
// 遍历内层数组
for (int j = 0; j < yangHui[i].length; j++) {
// 如果是首位或末位元素,赋值为1
if (j == 0 || j == (yangHui[i].length - 1)) {
yangHui[i][j] = 1;
// 其他中间的元素,按照公式赋值
} else {
yangHui[i][j] = yangHui[i - 1][j - 1] + yangHui[i - 1][j];
}
}
}
// 输出
// 遍历外层数组
for (int i = 0; i < yangHui.length; i++) {
// 输出最左侧的行号
System.out.print("[" + i + "]\t");
// 遍历内层数组
for (int j = 0; j < yangHui[i].length; j++) {
// 输出元素
System.out.print(yangHui[i][j] + "\t");
}
// 输出完一行后换行
System.out.println();
// 输出最后一行的列数
// 判断是否输出到最后一行
if (i == yangHui.length - 1) {
for (int j = 0; j < yangHui[yangHui.length - 1].length; j++) {
System.out.print("\t" + "[" + j + "]");
}
}
}
}
}