使用二维数组的知识实现杨辉三角
代码:
public class YangHui {
public static void main(String[] args) {
//1.声明并初始化二维数组
int yanghui[][] = new int[10][];
//2.给数组的元素赋值
for (int i = 0 ; i < yanghui.length;i++){
yanghui[i] = new int[i+1];
//首末元素赋值
yanghui[i][0] = yanghui[i][i] = 1;
//非首末元素
//if(i >1){
for (int j = 1;j < yanghui[i].length-1;j++){
yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
}
// }
}
//3.遍历数组
for(int i = 0;i < yanghui.length;i++){
for(int j = 0 ; j < yanghui[i].length;j++){
System.out.print(yanghui[i][j] + " ");
}
System.out.println();
}
}
}
注意:
中间在非首末元素的处理上有两种方式:
一、
//非首末元素
if(i >1){
for (int j = 1;j < yanghui[i].length-1;j++){
yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
}
}
二、
//非首末元素
for (int j = 1;j < yanghui[i].length-1;j++){
yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
}
区别在于方法二去掉了if判断,这样当i=1时,j<1-1=0,不会进入循环。
运行结果: