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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小灬清新丶 中级黑马   /  2015-7-7 19:30  /  885 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
        需求:打印杨辉三角形(行数可以键盘录入)
        1
        1        1
        1        2        1
        1        3        3        1
        1        4        6        4        1
        1        5        10        10        5        1

        分析:看图形的规律
                1.任何一行的第一列和最后一列都是1
                2.从第三行开始,每一个数据是它上一行的前一列
                        和它上一行的本列之和,最后一列除外。

        步骤:
                1。首先定义一个二维数组。行数如果是n,列数也先定义为n
                        这个n的数据来自于键盘录入。
                2.给这个二维数组任何一行的第一列和最后一列赋值为1.
                3,按照规律给其他元素赋值
                4,遍历这个二维数组。
*/
import java.util.Scanner;
class  Array2Test3
{
        public static void main(String[] args)
        {
                //创建键盘录入对象
                Scanner sc = new Scanner(System.in);
                //这个n的数据来自于键盘录入。
                System.out.println("请输入一个数据:");
                int n = sc.nextInt();

                //定义二维数组
                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<=x-1;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();
                }
                //内循环的变化必须和曾经讲过的99乘法表类似
        }
}

3 个回复

倒序浏览
学习了!
回复 使用道具 举报
谢谢了,马上就要学习到这里了
回复 使用道具 举报
认真学习..
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马