题目 代码1 public class YangHuiTriangle {public static void main(String[] args) {print(10);}public static void print(int num) {int[][] arr = new int[num][];for (int i = 0; i < num; i++) { // 第一行有 1 个元素, 第 n 行有 n 个元素arr[i] = new int[i + 1];}for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {if (j == 0 || i == j) { // 每一行的第一个元素和最后一个元素都是 1arr[i][j] = 1;} else {/* 从第三行开始, 对于非第一个元素和最后一个元素的元素。即: arr[i][j] = arr[i-1][j-1] + arr[i-1][j]; arr[i][j]=此元素的同一列上一行的元素+此元素左边一列上一行的元素 */arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];}}}for (int[] a :arr) {System.out.println(Arrays.toString(a));}} } 代码2 public class YangHuiTriangle2 {public static void main(String[] args) {print(10);}public static void print(int num) {int[][] arr = new int[num][];for (int i = 0; i < arr.length; i++) {arr[i] = new int[i + 1]; // 首末元素为1arr[i][0] = arr[i][i] = 1; // 从第二个元素开始到倒数第二个元素for (int j = 1; j < arr[i].length - 1; j++) {arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];}}for (int[] a :arr) {System.out.println(Arrays.toString(a));}} }