import java.util.Scanner;
/*
* 需求:打印杨辉三角形(行数可以键盘录入)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
分析:每一行的第一个和最后一个元素为1
从第三行开始,每一行第二个元素等于上一行的本列和前一列元素之和
*/
public class ArrayTest3 {
public static void main(String[] args) {
// 1.创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入杨辉三角的行数");
int n = sc.nextInt();
// 2.定义一个二维数组
int[][] arr = new int[n][n];
// 3.为数组的每一行第一个和最后一个元素辅助
for (int x = 0; x < arr.length; x++) {
arr[x][0] = 1;
arr[x][x] = 1;
}
// 4.为数组的其他元素辅助
for (int i = 2; i < arr.length; i++) {
for (int j = 1; j <= i; j++) {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
// 5.遍历数组
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(arr[i][j]);
}
System.out.println();
}
}
}
|
|