全栈开发,有护城河的技术岗位

Linux初体验04:安装Maven

  返回  

Java写任意行的杨辉三角

2021/7/21 11:22:16 浏览:

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

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();
        }
    }
}

在这里插入图片描述

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号