java – 使用for循环创建三角形

我似乎无法找到答案 –

我需要使用for循环绘制一个简单的三角形.

     *  
    ***
   *****
  *******
 *********

我可以制作一个半三角形,但我不知道如何添加到我当前的循环以形成一个完整的三角形.

 *
 **
 ***
 ****
 *****



  for (int i=0; i<6; i++)
  {
  for (int j=0; j<i; j++)
  {
  System.out.print("*");
  }
  System.out.println("");
  }

谢谢-

解决方法:

首先,您需要确保生成正确数量的*符号.我们需要生成1,3,5等等而不是1,2,3.这可以通过修改计数器变量来修复:

for (int i=1; i<10; i += 2)
{
    for (int j=0; j<i; j++)
    {
        System.out.print("*");
    }
    System.out.println("");
}

正如您所看到的,这导致i从1开始并且在每个步骤增加2,只要它小于10(即1,3,5,7,9).这给了我们正确数量的*符号.然后我们需要修复每行的缩进级别.这可以按如下方式完成:

for (int i=1; i<10; i += 2)
{
    for (int k=0; k < (4 - i / 2); k++)
    {
        System.out.print(" ");
    }
    for (int j=0; j<i; j++)
    {
        System.out.print("*");
    }
    System.out.println("");
}

在打印*符号之前,我们打印一些空格,空格数根据我们所在的行而有所不同.这就是带有k变量的for循环的用途.我们可以看到,当ì是1,3,5,7和9时,k迭代值4,3,2,1和0.这就是我们想要的,因为我们所在的三角形越高,我们需要的空间越多放置.我们越往下三角形,我们需要更少的空间,三角形的最后一行甚至根本不需要空格.

上一篇:java-如何在2D平面上随机生成一堆之间空间大致相同的站点?


下一篇:java-剪切线的最优雅方法?