/*
需求:打印杨辉三角形(行数可以键盘录入)
分析: a: 定义一个二维数组,将上边的数据通过二维数组表示
b: 遍历
*/
import java.util.Scanner ;
class Array2Test3 {
public static void main(String[] args) {
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请您输入一个数据: ");
// 获取键盘录入数据
int n = sc.nextInt();
System.out.println("---------------------------------------");
// 构建一个二维数组,每一个一维数组的长度都是相同的
int[][] arr = new int[n][n] ;
// 每一行的第一列和最后一列的值都是1
for(int x = 0 ; x < arr.length ; x++){
arr[x][0] = 1 ;
arr[x][x] = 1 ;
}
// 从第三行开始除去第一列于最后一列,其余数值 = 上一行的前一列的值 + 上一行的当列的值
for(int x = 2 ; x < arr.length ; x++){
for(int y = 1 ; y < arr[x].length ; y++){
arr[x][y] = arr[x - 1][y - 1] + arr[x - 1][y] ;
}
}
// 遍历
for(int x = 0 ; x < arr.length ; x++){
for(int y = 0 ; y <= x ; y++){
System.out.print(arr[x][y] + "\t");
}
System.out.println();
}
}
}
|
|