需求:打印一个杨辉三角,行数由客户决定
分析: 1.每行的第一列和最后一列数字为1
2.当前数字 = 同列的上一个数 + 同列上一个数的同行前一个数
import java.util.Scanner;
public class YHTriangle {
public static void main (String [] args) {
//键盘录入杨辉三角的行数
Scanner sc = new Scanner(System.in);
System.out.println("请输入杨辉三角的行数:");
//创建变量lines接收客户输入的数据
int lines = sc.nextInt();
//创建二维数组
int [] [] arr = new int [lines] [lines];
//每行的第一列和最后一列数字为1
for (int x = 0; x<lines; x++){
//每行第一列数字为1
arr[x][0] = 1;
//每行的最后一列数字为1
arr[x][x] = 1;
//对中间列赋值:当前数字 = 同列的上一个数 + 同列上一个数的同行前一个数
for(int j = 1; j < x; j++) {
arr [x][j] = arr [x-1][j] + arr [x-1][j-1];
}
}
// 遍历数组打印杨辉三角
for (int x = 0; x < lines; x++) {
for (int j = 0; j <= x; j++) {
System.out.print(arr[x][j]+ "\t");
}
System.out.println();
}
}
}