2016-03-07 53 views
-6

我打印我的钻石时出现问题, 我尝试了所有我可以做的事情,但仍然出现。 请帮忙。钻石与内部空白

我在打印我的钻石时遇到问题, 我尝试了所有我可以做的事情,但仍然出现。 请帮忙。

Enter Input: 5 
     * 
    * * 
    * * 
    *  * 
    *  * 
    *  * 
    * * 
    * * 
    * 

它打印这样的,但它不应该是。 它应该是

 * 
    * * 
    * * 
    *  * 
    *  * 
    *  * 
    * * 
    * * 
     * 

这是毫安代码

import java.util.Scanner; 


public class triangleBRO 
{ 
    public static void main(String agrs[]) 
    { 
     Scanner in = new Scanner (System.in); 

     System.out.print("Enter Number: "); 
     int inp = in.nextInt(); 

     int wan = 1; 
     int space = inp ; 

      for(int i = 0; i < inp; i++) 
      { 
        for(int s = 0; s < space ; s++) 
        { 
         System.out.print(" "); 
        } 

        for(int s = 0; s < wan ; s++) 
        { 
         if(s == 0 || s == wan-1) 
         { 
          System.out.print("*"); 
         } 
         else 
         { 
          System.out.print(" "); 

         } 

        } 

        if(i == inp-1) 
        { 
        break; 
        } 
        else{ 
        System.out.println(); 
        wan=wan+2; 
         space--; 
        } 


      } 


     //second 

      int x = (inp * 2) - 1; 

      int y = 1; 

      for(int l = 0; l < inp; l++) 
      { 
       for(int s = y; s > 1; s--) 
       { 
        System.out.print(" "); 
       } 

       for(int s = 0; s < x ; s++) 
       { 
       if(l >= 1) 
       { 
        if(s == 0 || s == x - 1) 
        { 
         System.out.print("*"); 
        } 
        else 
        { 
        System.out.print(" "); 
        } 

       } 

       } 
        System.out.println(); 

        x-=2; 

        y++; 

      } 


} 

} 
+0

@MarounMaroun,我们知道它来自哪本书吗?难道他们不能至少改变一下形状吗? – nicomp

+0

也许读一些编码准则是个好主意......小写的类名称,没有有意义的名字的变量......伤害了我的眼睛> – whatTheFox

回答

0

对于较低组符号的需要打印star.Modifying条件为s> = 1之前放的空间中,使得流量进入循环并打印一个空间。以前它没有进入循环。这应该会得到所需的输出。

for(int s = y; s >= 1; s--) 
      { 
       System.out.print(" "); 
      }