Java 打印以金字塔样式翻转的数字

Java 打印以金字塔样式翻转的数字,java,string,for-loop,Java,String,For Loop,我正在尝试使用for循环打印类似的内容: 1 121 12321 1234321 123454321 对于正确的数字,您必须按相反的顺序打印数字,以便进行如下更改: //right diguts for(int b = 1; b <= i; b++){ System.out.print(b); } 实际上没有必要把1分开。您可以将其包含在公共逻辑中: public class Pyramid { public sta

我正在尝试使用for循环打印类似的内容:

    1 
   121 
  12321 
 1234321 
123454321 

对于正确的数字,您必须按相反的顺序打印数字,以便进行如下更改:

//right diguts
    for(int b = 1; b <= i; b++){
        System.out.print(b);
    }

实际上没有必要把1分开。您可以将其包含在公共逻辑中:

public class Pyramid {
    public static void main(String[] args) {
        int mid = 1;        

        for (int i = 0; i <= 4; i++) {

            // left spaces
            for (int x = 4; x > i; x--) {
                System.out.print(" ");
            }

            // left digits
            for (int z = 1; z <= i; z++) {
                System.out.print(z);
            }

            // middle digit
            System.out.print(mid);
            mid++;

            // right digits
            for(int b = i; b > 0; b--){
                System.out.print(b);
            }

            // right spaces
            for (int y = 4; y > i; y--) {
                System.out.print(" ");
            }

            System.out.println();
        }
    }
}
公共类金字塔{
公共静态void main(字符串[]args){
int-mid=1;
对于(int i=0;i i;x--){
系统输出打印(“”);
}
//左数位
对于(intz=1;z0;b--){
系统输出打印(b);
}
//右空格
对于(int y=4;y>i;y--){
系统输出打印(“”);
}
System.out.println();
}
}
}

这其实是一个不错的高尔夫拼图! 我只使用了两个循环


我可以问一下为什么我们需要Math.abs()?顺便说一句,每行前面都有一个额外的空间。要删除每行前面的额外空间,只需在第二个循环中更改
int j=1
//right diguts
    for(int b = 1; b <= i; b++){
        System.out.print(b);
    }
//right diguts
    for(int b = i; b > 0; b--){
        System.out.print(b);
    }
public class Pyramid {
    public static void main(String[] args) {
        int mid = 1;        

        for (int i = 0; i <= 4; i++) {

            // left spaces
            for (int x = 4; x > i; x--) {
                System.out.print(" ");
            }

            // left digits
            for (int z = 1; z <= i; z++) {
                System.out.print(z);
            }

            // middle digit
            System.out.print(mid);
            mid++;

            // right digits
            for(int b = i; b > 0; b--){
                System.out.print(b);
            }

            // right spaces
            for (int y = 4; y > i; y--) {
                System.out.print(" ");
            }

            System.out.println();
        }
    }
}
int n = 5;
for(int i=0; i < n; i++){
    for(int j=0; j < 2*n; j++){
       int abs = Math.abs(n-j);
       System.out.print(abs>i ? " " : i-abs+1);
    }
    System.out.println();
}
     1    
    121   
   12321  
  1234321 
 123454321