方法一:
public class YangHui {
public static void main(String[] args) {
int[][] xyAxis = new int[10][];
for(int x = 0; x < xyAxis.length; x++){
//每行有几个元素
xyAxis[x] = new int[x + 1];
//每行首尾元素赋值
xyAxis[x][0] = xyAxis[x][x] = 1;
//从第二列开始给其他数组元素赋值,省略判断x>1,因为内存循环判断条件不满足,不执行循环体,不会触发x-1的问题。
for(int y = 1; y < xyAxis[x].length - 1; y++){
xyAxis[x][y] = xyAxis[x - 1][y - 1] + xyAxis[x - 1][y];
}
}
//赋值和遍历输出要分开
for(int x = 0; x < xyAxis.length; x++){
for(int y = 0; y < xyAxis[x].length; y++){
System.out.print(xyAxis[x][y] + " ");
}
System.out.println();
}
}
}
方法二:(鄙人拙劣之作,请勿耻笑)
package com.java.arraytest;
public class YangHui {
public static void main(String[] args) {
int[][] xyAxis = new int[20][20];
xyAxis[0][0] = 1;
for(int x = 1; x < xyAxis.length; x++){
for(int y = 1; y < xyAxis[x].length; y++){
xyAxis[x][0] = 1;
xyAxis[x][y] = xyAxis[x - 1][y - 1] + xyAxis[x - 1][y];
if(y == x){
break;
}
}
}
for(int x = 0; x < xyAxis.length; x++){
for(int y = 0; y < xyAxis[x].length; y++){
System.out.print(xyAxis[x][y] + " ");
if(y == x){
System.out.println();
break;
}
}
}
}
}