public class YangHui{
public static void main (String[] args){
/*
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
......
运用二维数组打印杨辉三角,重点在找规律
1.如二维数组里的每下一个一维数组,一维数组的长度就会加一
2.如二维数组里的每个一维数组内的首个和最后一个元素都是一,而中间的元素不是,所以可考虑用if判断
3.如中间的元素,下个一维数组同位置数等于上一个一位数组加上与她相邻的前一个
*/
int[][] yangHui = new int[12][];//动态定义一个有12个一维数组,每个一维组为null的二维数组
for(int i = 0; i < yangHui.length; i++){
yangHui[i] = new int[i + 1];//每个一维数组的长度每次加长1
for(int j = 0; j < yangHui[i].length; j++){
if(j == 0 || j == yangHui[i].length - 1){
yangHui[i][j] = 1;//每个一维数组的首个和最后一个都是1
}else{
//下一维数组内的一个元素等于上个一维数组的同个位置的元素加上同个一维数组前面的一个元素
yangHui[i][j] = yangHui[i-1][j] + yangHui[i-1][j-1];
}
}
}
//遍历yangHui二维数组内每个元素并打印
for(int i = 0; i < yangHui.length; i++){
for(int j = 0; j < yangHui[i].length; j++){
System.out.print(yangHui[i][j] + "\t");
}
System.out.println();
}
}
}
/*
此代码运行环境: 写于Sublinme Text3,由Dos系统编译
注: 杨辉三角层数可修改
*/

本文通过Java代码展示了如何使用二维数组打印杨辉三角,并详细解释了其中的规律:二维数组每一行的长度递增1,首尾元素为1,中间元素等于上一行相同位置和前一个位置的元素之和。代码在Sublime Text3中编写,并在Dos系统下编译运行,可灵活调整层数。
&spm=1001.2101.3001.5002&articleId=123729766&d=1&t=3&u=212c337493c34813965058b5c423f56b)
11万+

被折叠的 条评论
为什么被折叠?



