public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个几层的三角:");
int x=scanner.nextInt();
//int x=8;
int y=2*x-1;
int[][] a=new int[x][y];
for (int i = 0; i <x; i++) {
for (int j = 0; j <y; j++) {
a[i][j]=0;//把数组初始值全部赋值为0;
a[i][x-i-1]=1;
a[i][x+i-1]=1;//将目标部分赋值为1
}
}
for (int i = 0; i < x; i++) {
for (int j = 0; j < y; j++) {
if(i>0&&j>0&&j<(y-1))//判断行数和列数不能越界
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j + 1];
//System.out.print(a[i][j] + "\t");
}
}
//System.out.println();可查看初步效果
}
char[][] c=new char[x][y];//新建一个char类型的数组,用于存储空格
//将0替换为空格输出
for (int i = 0; i < x; i++) {
for (int j = 0; j < y; j++) {
if(a[i][j]!=0){//如果不为0,则输出
System.out.print(a[i][j]+"\t");
}
else{//如果数组 值为0
c[i][j]=‘ ‘;//将其替换 为字符数组输出:值为空格
System.out.print(c[i][j]+"\t");
}
} System.out.println();
}
}
原文:https://www.cnblogs.com/hpha/p/11420914.html