打印杨辉三角

import java.util.Scanner;
/*
 * 打印杨辉三角形
 *      1
 *      1   1
 *      1   2   1
 *      1   3   3   1
 *      1   4   6   4   1
 *      1   5   10  10  5   1
 *      ......
 * 分析:找规律
 *      a:任何一行的第一列和最后一列都是1
 *      b:从第一行开始,每一个数据是它上一行的那列和前一列的和;
 */


public class YangHuiDemo {
    public static void main(String[] args) {
        //键盘录入要打印的行数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您要打印的行数:");
        int n = sc.nextInt();

        //创建二维数组
        //采用静态初始化
        int[][] arr = new int[n][n];
        for(int x=0;x//任何一行的第一列和最后一列都是1
            arr[x][0] = 1;
            arr[x][x] = 1;
        }

        //从第3行开始,按照规律
        for(int x=2;xfor(int y=1;y<=x-1;y++) {
                arr[x][y] =arr[x-1][y-1]+arr[x-1][y];
            }
        }

        //遍历二维数组
        for(int x=0;xfor(int y=0;y<=x;y++) {
                System.out.print(arr[x][y]+"\t");
            }
            System.out.println();
        }
    }
}

请输入您要打印的行数:
7

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

你可能感兴趣的:(Java基础50题)