2013年计算机二级Java多维数组学习教程_第2页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年6月25日
 5.2.4 二维数组应用

   1.二维数组元素的遍历

   在一维数组中,遍历数组元素使用如下语句:

   for(int i=0;i   System.out.println(a[i]);

   }

   在二维数组中可以使用如下语句遍历数组元素:

   for(int i=0;i   for(int j=0;j   System.out.print(a[i][j]+'\n');

   }

   System.out.println();

   }

   特别注意,因为在二维数组中存在不规则数组的情况,所以在访问时需要使用a[i].length的方式来限定二维数组第二维的元素个数,否则会发生数组下标异常错误。

   2.利用不规则数组实现杨辉三角形

   杨辉三角形,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。其形式如下:

   1

   1 1

   1 2 1

   1 3 3 1

   1 4 6 4 1

   我们可以利用java的不规则数组来存储这些信息,其运算规律为: a[m][n]=a[m-1][n-1]+a[m-1][n];当m=n或者n=0时,杨辉三角形的元素a[m][n]=1;否则,杨辉三角形的元素a[m,n]=a[m-1,n-1]+a[m-1,n] 。其中,m,n为三角形的行和列,均从0开始。

   程序如下:

   [例5-12]

   class YangHui {

   public void paint(int n){//输出杨辉三角形的值,n为行数

   int a[][]=new int[n][];

   for(int i=0;i   a[i]=new int[i+1];//定义不规则数组

   }

   for(int i=0;i   for(int j=0;j   if(i==j||j==0){

   a[i][j]=1;

   }

   else

   a[i][j]=a[i-1][j-1]+a[i-1][j];

   }

   }

   //不规则数组的输出

   for(int i=0;i   for(int j=0;j   System.out.print(a[i][j]+" ");

   }

   System.out.println();//输出换行

   }

   }

   }

   public class Test5_12 {

   public static void main(String[] args) {

   YangHui yh = new YangHui();

   yh.paint(10);

   }

   }

   运行结果如下:

   1

   1 1

   1 2 1

   1 3 3 1

   1 4 6 4 1

   1 5 10 10 5 1

   1 6 15 20 15 6 1

   1 7 21 35 35 21 7 1

   1 8 28 56 70 56 28 8 1

   1 9 36 84 126 126 84 36 9 1

   读者可以通过yh.paint(n)的方式很方便的输出具有n行杨辉三角形的数据。读者也可以试着修改例[5-12]让其显示效果更好(如显示效果为一个等腰三角形)。

   5.3小结

   本章对数组这种引用数据类型做了较详细的介绍,对数组的声明、初始化及数组元素的使用做了详细的说明,并给出了一维数组的几个典型的应用,在二维数组的中特别指出了Java数组与其他编程语言的不同,给出了不规则数组的概念,并给出了一个不规则数组的具体应用实例。


首页 1 2 尾页

相关文章