我正在使用嵌套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();
}
答案 0 :(得分:1)
如何将<= 7
更改为<= 9
(或者最有可能是保存输入数字的变量)
更改:
for (int i = 1; i <= 7; i++)
到
for (int i = 1; i <= lines; i++)