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

时间:2014-10-01 20:25:36

标签: java

我的输出是:

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");
    }
  }
}

1 个答案:

答案 0 :(得分:1)

在第一个for循环中。不要把i&lt; = n但是i&lt; 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"); 
        }
    }
}