import java.util.*;
/*杨辉三角形
* 1
* 1 1
* 1 2 1
* 1 3 3 1
* 1 4 6 4 1
* 分析:看这种图像的规律
* 1:任何一行的第一列跟最后一列都是1
* 2:从第三行开始,每一个数据都是它上一行的前一列跟上一行的本列之和
* 步骤
* 1:首先定义一个二维数组,行数如果为n,那么先将列数也为n ,n这个数 据由键盘输入
* 2:给这个二维数组的任意一行的第一列跟最后一列赋值为1;
* 3:按照此规律给其他元素赋值
* 从第三行开始,每一个数据都是它上一行的前一列跟上一行的本列之和
* 遍历二维数组/
代码:
public class Array2Demo {
public static void main(String[] args) {
//从键盘中获取值
Scanner sc = new Scanner (System.in);
System.out.println("请输入N值:");
int n =sc.nextInt();
//创建一个二维数组
int[][] array = new int[n][n];
//任意一行的第一列跟最后一列赋值为1
for(int x = 0 ;x < array.length;x++){
array[x][0]=1;
array[x][x]=1;
}
//按照规律给各个元素赋值
//从第三行起,每个数据的值都是上一行的前一列 跟上一行的本列之和
for(int x=2;x<array.length;x++){
//因为第一列已经赋值了,所以从第二行开始 Y从1开始
//如果y=x那么会有个小问题也就是最后一列的问题最后一列也赋值过了
//所以要减去1
for(int y=1;y<=x-1;y++){
array[x][y]=array[x-1][y-1]+array[x-1][y];
}
}
//遍历整个二维数组
for(int x=0;x<array.length;x++){
for(int y=0;y<=x;y++){
System.out.print(array[x][y]+"\t");
}
System.out.println();
}
}
}