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();
}
考虑添加语言标记。