Java基础——打印杨辉三角

问题:打印出一个10行的杨辉三角形
知识点:二维数组
思路:先分析杨辉三角形的规律:1.n行的元素数量是n;2.每行的首尾都是1;3.从第三行开始,每一非首末的数字都满足:yangHui[i][j]=yangHui[i-1][j-1]+yangHui[i-1][j]。代码如下:

//        1.声明初始化二维数组
        int[][] yangHui = new int[10][];
//        2.给数组的元素赋值
        for (int i = 0; i < yangHui.length; i++) {
     
            yangHui[i] = new int[i+1];
//            2.1 给首末元素赋值
            yangHui[i][0] = 1;
            yangHui[i][i] = 1;
//            2.2 给每行的非首末元素赋值
            if (i>1){
     
                for (int j = 1; j <yangHui[i].length-1 ; j++) {
     
                    yangHui[i][j]=yangHui[i-1][j-1]+yangHui[i-1][j];
                }
            }
        }
        
//        3.遍历二维数组
        for (int i = 0; i < yangHui.length; i++) {
     
            for (int j = 0; j <yangHui[i].length ; j++) {
     
                System.out.print(yangHui[i][j]+"\t");
            }
            System.out.println();
        }

输出结果如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1

你可能感兴趣的:(Java基础,java,数据结构,算法)