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]让其显示效果更好(如显示效果为一个等腰三角形)。
2017年计算机二级考试java章节辅导:二维数组应用.doc正在阅读:
2017年计算机二级考试java章节辅导:二维数组应用11-25
2021低碳生活倡议书范文【四篇】08-07
中科院武汉病毒所招聘23人即日起报名06-30
有关端午节的手抄报内容 文字:有关端午节的手抄报内容11-08
2017年河南省中考物理真题及答案(已公布)_2017年河南新乡中考物理真题11-29
2017年6月英语六级考试题型及分值比例11-25
国学宝典《春秋·左传》:晋公子重耳之亡10-25
2021年湖北黄冈普通高中体育艺术特长生招生计划的通知07-12
有关企业基层党建调研报告11-16
初二语文陋室铭原文及翻译12-19