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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Aaron_wang 于 2015-11-20 23:49 编辑

分别用一维数组和二维数组的方法打印出杨辉三角。
  使用二维数组的方法比较简单。如果使用一维数组的话,需要反复对一维数组重写并打印,重写数组时注意要反向遍历重写数组,否则会出错哦~
  1. class  YangHui
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         yangHui_1(6);
  6.         yangHui_2(6);
  7.     }
  8.     //使用二维数组
  9.     public static void yangHui_1(int num)
  10.     {
  11.         //第一列为1
  12.         int[][] arr = new int[num][num];
  13.         //System.out.println(arr.length);
  14.         for (int i=0; i
  15.         {
  16.             arr[i][0]=1;
  17.         }
  18.         //其余部分
  19.         for (int i=1; i
  20.         {
  21.             for (int j=1; j<=i; j++)
  22.             {
  23.                 arr[i][j] = arr[i-1][j-1]+arr[i-1][j];//规律体现
  24.             }
  25.         }
  26.         //打印输出
  27.         for (int i=0; i
  28.         {
  29.             for (int j=0; j<=i; j++)
  30.             {
  31.                 System.out.print(arr[i][j]+"\t");
  32.             }
  33.             System.out.println();
  34.         }
  35.     }
  36.     //使用一维数组
  37.     public static void yangHui_2(int num)
  38.     {
  39.         int[] arr = new int[num];
  40.         arr[0] = 1;
  41.         for (int i=1; i<=num; i++)//控制打印次数,num次.i表示打印的第i行
  42.         {  
  43.             sop(i,arr);//输出当前数组
  44.             System.out.println();
  45.             if(i==num) break;//i==num说明打印完成,跳出循环
  46.             for (int j=i; j>0; j--)//改造数组
  47.             {
  48.                 arr[j] = arr[j]+arr[j-1];
  49.             }
  50.         }
  51.     }
  52.     //打印方法
  53.     public static void sop(int num,int[] arr)
  54.     {
  55.         for (int i=0; i
  56.         {
  57.             System.out.print(arr[i]+"\t");
  58.         }
  59.     }

  60. }
复制代码

3 个回复

倒序浏览
自顶一个
回复 使用道具 举报
我也来顶一下
回复 使用道具 举报

谢谢谢{:3_57:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马