1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
5 4 3 2 1 2 3 4 5
6 5 4 3 2 1 2 3 4 5 6
int n = 6;
for (int i = 1; i <= n; i++) {
for (int j = 0; j < n - i; j++) {
System.out.print(" "); // 打印空格
}
for (int k = -i; k <= i; k++) {
if (k == 0 || k == 1) {
continue;
}
System.out.print(" " + Math.abs(k)); // 打印数字
}
System.out.println();
}
public class test{
public static void main(String[] args){
print(5);
}
public static void print(int n){
n+=1;
int temp;
for(int i=1;i<n;i++){
temp=i;
for(int j=temp;j>=1;j--){
System.out.print(j);
}
for(int k=2;k<=temp;k++){
System.out.print(k);
}
System.out.println("");
}
}
}
把楼上回答稍微改了一下。使输出成为了一个正三角形。
public static void print(int n){
n+=1;
int temp;
for(int i=1;i temp=i;
for (int m = 0; m System.out.print(" ");
}
for(int j=temp;j>=1;j--){
System.out.print(j);
}
for(int k=2;k<=temp;k++){
System.out.print(k);
}
System.out.println("");
}
}
public static void main(String[] args) {
print(6);
}
第二种方案
int min = 1;
int max = 6;
for (int i = 0; i < min; i++) {
for (int j = 0; j < max - min; j++) {
System.out.print(" "); // 打印缩进
}
for (int j = -min; j < -1; j++) {
System.out.print(Math.abs(j) + " "); // 打印左边的数字
}
System.out.print(1 + " "); // 打印中间的 1
for (int j = 2; j <= min; j++) {
System.out.print(Math.abs(j) + " "); // 打印右边的数字
}
System.out.println(); // 换行
if (min < max)
min++; // 更新
}