杨辉三角即任何一个整数等于它肩膀上的两个整数之和
package mypackage;
public class Hello {
public static int[][] creat(final int n){
int[][] mat=new int [n][]; //创建一个二维数组并第一维的申请空间
for(int i=0;i<n;i++) {
mat[i]=new int [i+1]; //申请第二维的空间,并且每次的长度不一样
mat[i][0]=mat[i][i]=1; //赋值
for(int j=1;j<i;j++) {
mat[i][j]=mat[i-1][j-1]+mat[i-1][j];
}
}
return mat;
}
public static void print(int[][] mat) { //输出数组
for(int i=0;i<mat.length;i++) {
System.out.print(String.format("%"+(mat.length-i+1)*2+"c", ' '));
//String.format()返回format指定格式字符串,可变形参
for(int j=0;j<mat[i].length;j++) {
System.out.print(String.format("%4d", mat[i][j]));
}
System.out.println();
}
}
public static void main(String[] args) {
Hello.print(Hello.creat(4)); //调用函数
}
}
【运行结果】