方法一:
System.out.print("请输入行数:");
Scanner scanner = new Scanner(System.in);
int num=scanner.nextInt();
int[][] yangHui=new int[num][num];
for (int i=0;i<num;i++) {
//1.输出空格
for(int j=0;j<num-i;j++) {
System.out.print(" ");
}
//2.给数组的元素赋值
for(int j=0;j<=i;j++) {
if(j==0||j==i) {//2.1给首末元素赋值
yangHui[i][j]=1;
System.out.print("1 ");
}else {//2.2给每行的非首末元素赋值
yangHui[i][j]=yangHui[i-1][j-1]+yangHui[i-1][j];
System.out.print(yangHui[i][j]+" ");
}
}
System.out.println();
}
方法二:
int[][] array=new int [17][];
for(int i=0;i<array.length;i++) {
array[i]=new int[i+1];
for(int j=0;j<array[i].length;j++) {
if(j==0 || j==i) {
array[i][j]=1;
}else {
array[i][j]=array[i-1][j-1]+array[i-1][j];
}
}
}
for(int i=0;i<array.length;i++) {
for(int j=0;j<17-i-1;j++) {
System.out.print(" ");
}
for(int k=0;k<array[i].length;k++) {
System.out.print(array[i][k]+" ");
}
System.out.println();
}
System.out.println();
方法三:
int rows = 17;
for (int i = 0; i < rows; i++) {
int number = 1;
// 打印空格字符串
System.out.format("%" + (rows - i) * 2 + "s", "");
for (int j = 0; j <= i; j++) {
System.out.format("%4d", number);
number = number * (i - j) / (j + 1);
}
System.out.println();
}