-3

我掌握了使用嵌套 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();

    }
4

1 回答 1

1

如何更改<= 7<= 9(或很可能是保存输入数字的变量)

改变 :

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

for (int i = 1; i <= lines; i++)
于 2013-07-07T20:33:29.040 回答