Ker*_*y G 9 java geometry loops for-loop
我似乎无法找到答案 -
我需要使用for循环绘制一个简单的三角形.
*
***
*****
*******
*********
Run Code Online (Sandbox Code Playgroud)
我可以制作一个半三角形,但我不知道如何添加到我当前的循环以形成一个完整的三角形.
*
**
***
****
*****
for (int i=0; i<6; i++)
{
for (int j=0; j<i; j++)
{
System.out.print("*");
}
System.out.println("");
}
Run Code Online (Sandbox Code Playgroud)
谢谢-
Mar*_*nik 20
一个有趣,简单的解决方案
for (int i = 0; i < 5; i++)
System.out.println(" *********".substring(i, 5 + 2*i));
Run Code Online (Sandbox Code Playgroud)
Sim*_*ser 16
首先,您需要确保生成正确数量的*符号.我们需要生成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("");
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,这将导致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("");
}
Run Code Online (Sandbox Code Playgroud)
在打印*符号之前,我们打印一些空格,空格的数量取决于我们所在的行.这就是k变量for循环的用途.我们可以看到,k在值迭代4,3,2,1和0当ì是1,3,5,7和9.这就是我们想要的,因为我们所处的三角形越高,我们需要放置的空间越多.我们越往下三角形,我们需要更少的空间,三角形的最后一行甚至根本不需要空格.
| 归档时间: |
|
| 查看次数: |
238930 次 |
| 最近记录: |