黑马程序员技术交流社区

标题: 杨辉三角 [打印本页]

作者: 958721894    时间: 2016-5-6 00:34
标题: 杨辉三角
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
       
        分析:每一行的第一个和最后一个元素为1
        从第三行开始,每一行第二个元素等于上一行的本列和前一列元素之和

*/

public class ArrayTest3 {
        public static void main(String[] args) {

                // 1.创建键盘录入对象
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入杨辉三角的行数");
                int n = sc.nextInt();
                // 2.定义一个二维数组
                int[][] arr = new int[n][n];
                // 3.为数组的每一行第一个和最后一个元素辅助
                for (int x = 0; x < arr.length; x++) {
                        arr[x][0] = 1;
                        arr[x][x] = 1;
                }
                // 4.为数组的其他元素辅助
                for (int i = 2; i < arr.length; i++) {
                        for (int j = 1; j <= i; j++) {
                                arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
                        }
                }
                // 5.遍历数组
                for (int i = 0; i < arr.length; i++) {
                        for (int j = 0; j <= i; j++) {
                                System.out.print(arr[i][j]);
                        }
                        System.out.println();
                }
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2