我需要制作一个看起来像这样的三角形
*
**
***
****
*****
******
*******
目前我有一个看起来像
的工作版*
**
***
****
*****
******
*******
使用循环:
public static void standard(int n)
{
for(int x = 1; x <= n; x++)
{
for(int c = 1; c <= x; c++)
{
System.out.print("*");
}
System.out.println();
}
}
我如何开展这项工作
*
**
***
****
*****
******
*******
这是我的尝试:
public static void backward(int n)
{
for(int x = 7; x <= n; x++)
{
for(int y = 1; y >= x; y--)
{
if (x >= y)
{
System.out.print("*");
}
else
{
System.out.print("");
}
}
System.out.println();
}
}
答案 0 :(得分:5)
在每行打印n
字符:如果索引c < n - x
,则打印空格,否则打印星号:
for (int x = 1; x <= n; x++) {
for (int c = 0; c < n; c++)
System.out.print(c < n - x ? ' ' : '*');
System.out.println();
}
输出(n = 6):
*
**
***
****
*****
******
答案 1 :(得分:0)
public static void standard(int n)
{
for(int x = 1; x <= n; x++)
{
新代码
for (int b = 0; b <= (n - x); b++)
System.out.print(" ");
此代码在添加星星之前添加空格。由于三角形是2以上的矩形,我们知道每次总长度为n,而我们只是将其他空间设为仅显示三角形
for(int c = 1; c <= x; c++)
{
System.out.print("*");
}
System.out.println();
}
}
答案 2 :(得分:0)
void triangle(int n) {
// create first line
StringBuffer out = new StringBuffer(2 * n + 1);
for (int i = 0; i < n - 1; ++i) {
out.append(' ');
}
out.append('*');
// repeatedly remove a space and add a star
while (n-- > 0) {
System.out.println(out);
out.deleteCharAt(0);
out.append("*");
}
}
答案 3 :(得分:0)
只需更改循环,以便x
表示空格数并首先打印该空格数,然后打印缺少的字符以填充该行:
for (int x = n-1; x >= 0; x--) {
for (int c = 0; c < x; c++) {
System.out.print(" ");
}
for (int c = x; c < n; c++) {
System.out.print("*");
}
System.out.println();
}