打印图形,求各位大神帮忙

                     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++; // 更新
}

图片说明