本文主要介绍如何打印杨辉三角(直角三角形),如下图所示:
规律如下:
第一行全为1,对角线元素全为1,设i表示行标,j表示列标。
arr[i][0] = 1;
arr[i][i] = 1;
当i > 0,j > 0时,有如下迭代式
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
整体代码如下:
public class Five {
public static void main(String[] args) { System.out.println("请输入需要打印的行数:");
Scanner scanner = new Scanner(System.in);
int row = scanner.nextInt();
int [][] arr = new int [row][]; for(int i= 0;i<arr.length;i++) {
arr[i] = new int [i+1];
arr[i][i] = 1;
arr[i][0] = 1;
for(int j=1;j<i;j++) {
arr[i][j] = arr[i-1][j-1]+arr[i-1][j];
}
} for(int i=0;i<arr.length;i++) {
for(int j = 0;j<arr[i].length;j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
} }
注意:在列数不确定情况下,一维数组在使用前,需要分配存储空间
arr[i] = new int [i+1];