杨辉三角

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 + "]");
                }
            }
        }
    }
}

img