【发布时间】:2022-11-21 08:15:56
【问题描述】:
我在运行扫描用户输入并根据选定的行数创建空心菱形的程序时遇到问题。
这是我目前拥有的(注意,我的程序比这个长,唯一的问题是运行钻石创建方法。
public static void printD(int figureSize)
{
int i,j,middle;
figureSize = figureSize + 1;
middle = (figureSize/2);
for(i = 1; i <= middle; i++)
{
for(j = i; j <= (middle - i); j++)
{
System.out.print(" ");
}
if (i == 1)
{
System.out.print("XX");
}
else
{
System.out.print("X");
for(j = i; j <= (2*i)-3; j++)
{
System.out.print(" ");
}
System.out.print("X");
}
System.out.println();
}
for (i = middle + 1; i < figureSize; i++)
{
for (j = 1; j <= i - middle; j++)
{
System.out.print(" ");
}
if (i == figureSize - 1)
{
System.out.print("XX");
}
else
{
System.out.print("X");
for(j = 1; j <= 2 *(figureSize - i) - 3; j++)
{
System.out.print(" ");
}
System.out.print("X");
}
System.out.println();
}
}
当前输出:
输入图形大小(奇数):9
XX
XX
X X
X X
X X
X X
X X
X X
XX
我试过重写代码,或更改 for 循环的条件,但我似乎无法修复形状以使其类似于菱形。任何指导都会很棒。
【问题讨论】: