如何去除两个三角形之间的空隙



我的输出是:

55555
 4444
  333
   22
    1
   22
  333
 4444
55555

plz帮我处理这个代码(如何删除两个三角形之间的空间?)

public class series {
  public static void main (String args[]){
    Scanner in=new Scanner(System.in);
    int n=in.nextInt();
    if((n>=1 && n<=9)){
     for(int i=0;i<=n;i++){
     //spacing logic
        for(int s=0; s < i; s++){
          System.out.print(" ");
        }
       //main logic: loop1
        for(int j=n ; j > i; j--){
          System.out.print(n-i);
        }
        System.out.println();
      }
      for(int i=2;i<=n;i++){
        //spacing logic
        for(int s=n;s>i;s--){
          System.out.print(" ");
        }
        //main logic: loop2
        for(int j=1;j<=i;j++){
          System.out.print(i);
        }
        System.out.println();
      }
    }
    else{
      System.out.println("Invalid Input");
    }
  }
}

在第一个for循环中。不要将i<=n,但是i<n,并且空间将消失。试着自己弄清楚为什么会这样。

格式正确(还删除了输入扫描仪行)。

public class series { 
    public static void main (String args[]){ 
        int n=5; 
        if((n>=1 && n<=9)){ 
            for(int i=0;i<n;i++){ 
                //spacing logic 
                for(int s=0; s < i; s++){ 
                    System.out.print(" "); 
                } 
                //main logic: loop1 
                for(int j=n ; j > i; j--){
                    System.out.print(n-i); 
                } 
                System.out.println();
            } 
            for(int i=2;i<=n;i++){ 
                //spacing logic 
                for(int s=n;s>i;s--){
                    System.out.print(" ");
                } 
                //main logic: loop2 
                for(int j=1;j<=i;j++){
                    System.out.print(i); 
                }
                System.out.println(); 
            } 
        } else{
            System.out.println("Invalid Input"); 
        }
    }
}

最新更新