我似乎无法找到这个问题的答案——
我需要使用 for 循环绘制一个简单的三角形。
*
***
*****
*******
*********
我可以制作一个半三角形,但我不知道如何添加到我当前的循环中以形成一个完整的三角形。
*
**
***
****
*****
for (int i = 0; i < 6; i++) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println("");
}
原文由 Kerry G 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先,您需要确保生成正确数量的
*
符号。我们需要生成 1、3、5 等而不是 1、2、3。这可以通过修改计数器变量来解决:As you can see, this causes
i
to start at1
and increase by2
at each step as long is it is smaller than10
(ie,1
,3
,5
,7
,9
).这给了我们正确数量的*
符号。然后我们需要修复每行的缩进级别。这可以按如下方式完成:在打印
*
符号之前,我们打印了一些空格,空格的数量取决于我们所在的行。这就是带有k
变量的 for 循环的用途。 We can see thatk
over the values4
,3
,2
,1
and0
whenì
is1
,3
,5
,7
and9
。这就是我们想要的,因为我们在三角形中越高,我们需要放置的空间就越多。我们越往下走三角形,我们需要的空间就越少,三角形的最后一行甚至根本不需要空间。