打印杨辉三角形

 

//2020年3月14日22:24:15
import  java.util.Scanner;

public class FunctionDemo2 {
    public static void main(String[] args) {
        System.out.print("请输入需要打印的行数: ");
        Scanner sc = new Scanner(System.in);
        //需要打印的行数
        int row;
        row = sc.nextInt();
        printFun(row);
    }
    //将该功能封装为一个函数
    public static void printFun(int row) {
        int [][] arr = new int[row][row];
        //对部分二维数组进行赋值
        for (int i = 0; i < row; i++) {
            for (int j = 0; j <= i; j++) {
                //每一行的第一个元素和最后一个元素都为1
                if(j == 0 || j == i) {
                    arr[i][j] = 1;
                }
                //核心算法 arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
                else {
                    arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
                }
            }
        }
        //控制打印的行数
        for (int i = 0; i < row; i++) {
            //控制每一行需要打印的列数
            //打印数字前面的空格;
            for (int k = 1; k < row-i;k++) {
                System.out.print(" ");
            }
            for (int j = 0; j <= i; j++) {
                //打印数值
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
    }
}

 

 

 

posted @ 2020-03-14 22:29  陈太浪  阅读(166)  评论(0编辑  收藏  举报