杨辉三角形(Yang Hui triangle)

import java.util.Scanner;public class TwoDimensionalArray04 {    public static void main(String[] args) {        /*题目: 使用二维数组打印一个10行的杨辉三角形             1             1 1             1 2 1             1 3 3 1             1 4 6 4 1             1 5 10 10 5 1....*/        /*思路分析:        * 1.定义一个二维数组,共10行,列可变 int[][] nums= new int[10][]        * 2.遍历每个一维数组,并为其开空间,空间大小=i+1        * 3.访问一维数组的每个元素,并为其赋值        * 4.在赋值之前要进行判断,每个一维数组的第一个和最后一个的值永远为1,            除此之外其他的值均存在以下关系:nums[i][j] = nums[i-1][j-1]+nums[i-1][j]            即当前行,当前列的元素的值=上一行同一列的元素值+上一行同一列前一个元素的值*/        Scanner scanner = new Scanner(System.in);        System.out.println("请输入要打印的杨辉三角形的行数:");        int n =scanner.nextInt();        int[][] nums= new int[n][];//        遍历一维数组,并为其开空间        for (int i = 0; i < nums.length; i++) {            nums[i] = new int[i + 1];//          遍历访问每个一位数组的元素,并为其赋值            for(int j = 0;j < nums[i].length;j++){                //如果是数组的第一个或者最后一个元素则将1赋值给它                if (j == 0 || j == nums[i].length-1){                    nums[i][j] = 1;                }                //否则当前行,当前列的元素的值=上一行同一列的元素值+上一行同一列前一个元素的值                else {                    nums[i][j] = nums[i-1][j-1]+nums[i-1][j];                }            }        }//              打印二维数组        for (int i = 0; i <  nums.length;i++){//            输出空格,使其呈现出金字塔的形状            for (int k = 0;k < n-1-i;k++){                System.out.print(" ");            }//            遍历输出每个一维数组的数据            for (int j = 0;j < nums[i].length;j++){                System.out.print(nums[i][j]+" ");            }            System.out.println();        }    }}
————————
import java.util.Scanner;public class TwoDimensionalArray04 {    public static void main(String[] args) {        /*题目: 使用二维数组打印一个10行的杨辉三角形             1             1 1             1 2 1             1 3 3 1             1 4 6 4 1             1 5 10 10 5 1....*/        /*思路分析:        * 1.定义一个二维数组,共10行,列可变 int[][] nums= new int[10][]        * 2.遍历每个一维数组,并为其开空间,空间大小=i+1        * 3.访问一维数组的每个元素,并为其赋值        * 4.在赋值之前要进行判断,每个一维数组的第一个和最后一个的值永远为1,            除此之外其他的值均存在以下关系:nums[i][j] = nums[i-1][j-1]+nums[i-1][j]            即当前行,当前列的元素的值=上一行同一列的元素值+上一行同一列前一个元素的值*/        Scanner scanner = new Scanner(System.in);        System.out.println("请输入要打印的杨辉三角形的行数:");        int n =scanner.nextInt();        int[][] nums= new int[n][];//        遍历一维数组,并为其开空间        for (int i = 0; i < nums.length; i++) {            nums[i] = new int[i + 1];//          遍历访问每个一位数组的元素,并为其赋值            for(int j = 0;j < nums[i].length;j++){                //如果是数组的第一个或者最后一个元素则将1赋值给它                if (j == 0 || j == nums[i].length-1){                    nums[i][j] = 1;                }                //否则当前行,当前列的元素的值=上一行同一列的元素值+上一行同一列前一个元素的值                else {                    nums[i][j] = nums[i-1][j-1]+nums[i-1][j];                }            }        }//              打印二维数组        for (int i = 0; i <  nums.length;i++){//            输出空格,使其呈现出金字塔的形状            for (int k = 0;k < n-1-i;k++){                System.out.print(" ");            }//            遍历输出每个一维数组的数据            for (int j = 0;j < nums[i].length;j++){                System.out.print(nums[i][j]+" ");            }            System.out.println();        }    }}