Loops 尝试创建一个循环,根据用户';s输入
我试图让用户在金字塔的底行输入奇数个星星。程序将只使用比一个输入小的奇数整数来构建金字塔。金字塔的外侧是下划线Loops 尝试创建一个循环,根据用户';s输入,loops,Loops,我试图让用户在金字塔的底行输入奇数个星星。程序将只使用比一个输入小的奇数整数来构建金字塔。金字塔的外侧是下划线 String result = ""; int sideWidth = -1, midWidth = -1; for (int i=1; i<=numSymbols ; i++) { for (int j=numSymbols; j>i; j--) { System.out.print("_"); } for (int k
String result = "";
int sideWidth = -1, midWidth = -1;
for (int i=1; i<=numSymbols ; i++)
{
for (int j=numSymbols; j>i; j--)
{
System.out.print("_");
}
for (int k=1; k<=(i * 2) -1; k++)
{
System.out.print("*");
}
System.out.println();
}
return result;
如果用户输入7:
___*___
__***__
_*****_
*******
______*
_____***
____*****
___*******
__*********
_***********
*************
您需要使用
numSymbols/2+1
而不是numSymbols
,因为7个numSymbols
只需要4行。另外,\uu
循环应该是这样的j=numSymbols/2;j>=i
并重复两次;一个在星星前面,一个在星星后面。最后,您不需要使用“k”
for (int i = 1; i <= numSymbols / 2 + 1; i++)
{
for (int j = numSymbols / 2; j >= i; j--)
{
System.out.print("_");
}
for (int j = 1; j <= i * 2 - 1; j++)
{
System.out.print("*");
}
for (int j = numSymbols / 2; j >= i; j--)
{
System.out.print("_");
}
System.out.println();
}
for(int i=1;i=i;j--)
{
系统输出打印(“”);
}
对于(int j=1;j=i;j--)
{
系统输出打印(“”);
}
System.out.println();
}
对于更简单的形式:
for (int i = 1; i <= numSymbols; i += 2)
{
for (int j = numSymbols / 2; j >= i / 2; j--)
System.out.print("_");
for (int j = 1; j <= i; j++)
System.out.print("*");
for (int j = numSymbols / 2; j >= i / 2; j--)
System.out.print("_");
System.out.println();
}
for(int i=1;i=i/2;j--)
系统输出打印(“”);
对于(int j=1;j=i/2;j--)
系统输出打印(“”);
System.out.println();
}
考虑添加语言标记。