当前位置 博文首页 > YHSevenWater的博客:Java写任意行的杨辉三角

    YHSevenWater的博客:Java写任意行的杨辉三角

    作者:[db:作者] 时间:2021-08-11 16:07

    使用二维数组打印任意行的杨辉三角

    package com.java.arraysdemo;
    import java.util.Scanner;
    //打印一个任意输入行的杨辉三角
    /*
    1. 第一行有 1 个元素, 第 n 行有 n 个元素
    2. 每一行的第一个元素和最后一个元素都是 1
    3. 从第三行开始, 对于非第一个元素和最后一个元素的元素。
    */
    public class ArrayDemo3 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入杨辉三角的行数:");
            int number = scanner.nextInt();
            //1.声明并初始化二维数组
            int [][] pascalTriangle = new int[number][];    //确定行为number,列暂时不能确定。
            //2.二维数组赋值
            for (int i = 0; i < pascalTriangle.length; i++) {
                pascalTriangle[i] = new int[i + 1];     //二维降维到一维数组进行初始化
                //2.1给首尾元素赋值
                pascalTriangle[i][0] = 1;
                pascalTriangle[i][i] = 1;
                //2.2给特殊位置赋值
                if(i > 1){
                    for (int j = 1; j < pascalTriangle[i].length -1; j++) { //从第二列开始到倒数第二列结束遍历
                        pascalTriangle[i][j] = pascalTriangle[i-1][j-1]  + pascalTriangle[i-1][j];
                    }
                }
            }
            //3.二维数组遍历
            for (int i = 0; i < pascalTriangle.length; i++) {
                for (int j = 0; j < pascalTriangle[i].length; j++) {
                    System.out.print(pascalTriangle[i][j]+"\t");
                }
                System.out.println();
            }
        }
    }
    

    在这里插入图片描述

    cs