java利用二维数组打印杨辉三角

  • 来源:网络
  • 更新日期:2020-09-14

摘要:目的:使用二维数组打印一个 10 行杨辉三角。(视频教程推荐:java课程)思路:1. 第一行有 1 个元素, 第 n 行有 n 个元素;2. 每一行的第一个元素和最后一个元素都是 1;3. 从第三行开始

目的:

使用二维数组打印一个 10 行杨辉三角。

(视频教程推荐:java课程)

思路:

1. 第一行有 1 个元素, 第 n 行有 n 个元素;

2. 每一行的第一个元素和最后一个元素都是 1;

3. 从第三行开始, 对于非第一个元素和最后一个元素的元素。即:yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];

这是数组和嵌套循环的结合,跟着提示一步一步走,效果如上图所示。

代码实现:

package com.atguigu.exer;

import java.util.concurrent.ForkJoinPool;

public class ArrayDemo {
    public static void main(String[] args) {
        //1.二维数组的动态初始化
        int[][] yangHui = new int[10][];

        //2.二维数组的外层元素的动态初始化
        for(int i = 0;i < yangHui.length;i++){
            yangHui[i] = new int[i + 1];
        }

        //3. 给二维数组的内层元素赋值
        for(int i = 0;i < yangHui.length;i++){
            //3.1 每一行的首末元素赋值为1
            yangHui[i][0] = yangHui[i][i] = 1;
            //3.2 每一行的非首末元素赋值。规律为:yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
            //if(i >= 2){
                for(int j = 1;j < yangHui[i].length - 1;j++){
                    yangHui[i][j] = yangHui[i-1][j-1] + yangHui[i-1][j];
                }
            //}

        }

        //4. 遍历二维数组
        for (int i = 0; i < yangHui.length; i++) {
            for (int j = 0; j < yangHui[i].length; j++) {
                System.out.print(yangHui[i][j] + "  ");
            }
            System.out.println();
        }
    }
}

相关推荐:java入门教程