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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© panpanpan138 中级黑马   /  2015-10-2 10:31  /  293 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
        需求:在控制台上打印如下图形
                                1
                             1    1
                           1   2    1
                         1   3   3   1
                       1   4   6   4   1
       
        思路:1,观察上述图形,分析数字间的规律,发现这个三角形的两条边
                         上的数字都是1;当每一行上的数多于3时,从第二个数字开始
                         每个数字都是上一行与本数字相邻的两个数字之和
                  2,根据观察得出的规律,不妨将这个图形用二维数组的形式进行存放
                     定义一个拥有5个一维数组的二维数组arr[5][5];
                  3, 不难分析,arr[0][0]=1;arr[1][0]=1;arr[1][1]=1
                      arr[2][1]=arr[1][0]+arr[1][1];
                          arr[3][1]=arr[2][0]+arr[2][1];
                  4, 用for循环嵌套遍历2维数组,用if else语句判断
                  5,打印图形
*/
import java.util.Scanner;
class Yanghui
{
        public static void main(String[] args)
        {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个数字:");
                int num = sc.nextInt();
                int[][] arr = new int[num][num];//定义一个二维数组存储数据
                for(int i=0;i<num;i++){//外循环控制行数
                        for(int x=i;x<num-1;x++){//先输出一个由空格组成的倒三角
                                System.out.print(" ");
                        }
                        for(int j=0;j<=i;j++){//输出一个正三角
                                //当二维数组中的一维数组的脚标为0
                                //或者二维数组的脚标和一维数组的脚标相等时,输出1
                                if(j==0 || j==i){
                                        arr[i][j] = 1;
                                }
                                //除了1以外的数组元素等于上一个数组中与之相邻的两个元素之和
                                else{
                                        arr[i][j] = arr[i-1][j-1]+arr[i-1][j];
                                }
                                System.out.print(arr[i][j]+" ");
                        }
                        System.out.println();
                }
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马