我似乎无法找到答案 –
我需要使用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.这就是我们想要的,因为我们所在的三角形越高,我们需要的空间越多放置.我们越往下三角形,我们需要更少的空间,三角形的最后一行甚至根本不需要空格.