A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
                需求:打印杨辉三角形(行数可以键盘录入)
分析:        a: 定义一个二维数组,将上边的数据通过二维数组表示
                b: 遍历
*/

import java.util.Scanner ;
class Array2Test3  {
        public static void main(String[] args)  {
        // 创建键盘录入对象
                Scanner sc = new Scanner(System.in);

                System.out.println("请您输入一个数据: ");

                // 获取键盘录入数据
                int n = sc.nextInt();

                System.out.println("---------------------------------------");

                // 构建一个二维数组,每一个一维数组的长度都是相同的
                int[][] arr = new int[n][n] ;
                // 每一行的第一列和最后一列的值都是1
                for(int x = 0 ; x < arr.length ; x++){
                        arr[x][0] = 1 ;
                        arr[x][x] = 1 ;
                }
                // 从第三行开始除去第一列于最后一列,其余数值 = 上一行的前一列的值 + 上一行的当列的值
                for(int x = 2 ; x < arr.length ; x++){
                        for(int y = 1 ; y < arr[x].length ; y++){
                                arr[x][y] = arr[x - 1][y - 1] + arr[x - 1][y] ;
                        }
                }
                // 遍历
                for(int x = 0 ; x < arr.length ; x++){
                        for(int y = 0 ; y <= x ; y++){
                                System.out.print(arr[x][y] + "\t");
                        }
                        System.out.println();
                }
        }
}

2 个回复

倒序浏览
买哪读书;阿斯顿
回复 使用道具 举报
看看学习下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马