钻石里面有一个空白区域

时间:2016-03-07 11:36:03

标签: java

打印我的钻石时遇到问题, 我尝试了我能做的一切,但仍然会出现。 请帮忙。

打印我的钻石时遇到问题, 我尝试了我能做的一切,但仍然会出现。 请帮忙。

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

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

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

这是ma代码

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++;

            }


 }

}

1 个答案:

答案 0 :(得分:0)

对于较低的符号集,您需要在打印星形之前放置一个空格。将条件修改为s&gt; = 1,使流程进入循环并打印一个空格。之前它没有进入循环。这应该为您提供所需的输出。

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