有人可以使用嵌套循环查看我的Java代码中的数字菱形图案吗?

时间:2013-07-07 20:31:33

标签: java for-loop nested-loops jgrasp

我正在使用嵌套for循环来制作数字模式。只要我没有输入7以上的数字,这段代码就可以正常工作。例如,当我输入7时,它看起来像这样(没有空格):

        1

       212

      32123

     4321234

      32123

       212

        1

但是当我输入9时,它看起来像这样:

                  1

                 212

                32123

               4321234

              543212345

               4321234

                32123

我做错了让它没有完成钻石?

public void displayPatternVI (int lines) 
    {
        System.out.println("\n\tMy Own Pattern to be implemented\n");

        int columns = 1;
        int start = 0;
        int spaces = lines / 2;
        for (int i = 1; i <= 7; i++)
        {

            for (int j = 1; j <= spaces; j++)
            {
                System.out.print (" ");
            }


            if(i < lines/2+1)
            {
                start = i;
                spaces = spaces - 1;
            }
            else
            {
                start = (lines + 1 ) - i;
                spaces = spaces + 1;
            }



            for (int j = 1; j <= columns; j++)
            {
                int midColumn = columns / 2 + 1;
                System.out.print(start);
                if (j < midColumn)
                {
                    start--;
                }
                else
                {
                    start++;
                }

            }
            System.out.println();

            if(i<lines/2+1)
            {
                columns = columns + 2;
            }
            else
            {
                columns = columns - 2;
            }



        }




        System.out.println();

    }

1 个答案:

答案 0 :(得分:1)

如何将<= 7更改为<= 9(或者最有可能是保存输入数字的变量)

更改:

for (int i = 1; i <= 7; i++)

for (int i = 1; i <= lines; i++)