【发布时间】:2020-05-29 21:49:29
【问题描述】:
我正在处理一项任务,我必须使用嵌套循环来编写位于其一侧的星号金字塔。 该程序的输出应如下所示:
*
**
***
****
***
**
*
当我运行我的程序时,它只显示最后四行代码。我不知道为什么前三个没有出现。 这是我的代码:
public class Main
{
public static void main(String[] args) {
for(int a = 0; a < 8; a++) //1
{
if(a < 4){
for(int b = a; b < 4; b++)
{
System.out.print("*");
}
}
if(a >= 4)
for(int c = a; c < 4; c++)
{
System.out.print("*");
}
System.out.println();
} //loop 1
}
}
这是我的输出:
****
***
**
*
(在我没有包含的输出之后有一些空白。这是由外部 for 循环迭代八次引起的。)如何让我的程序正确显示所有代码,而不仅仅是最后四个线?
任何帮助将不胜感激。
【问题讨论】:
-
一种方法是计算每行上的星号是否正确。然后在每行打印出您认为在打印之前需要打印的星号数量。我认为这些计算是错误的。
-
for(int c = a; c < 4; c++):想想当你开始这个循环时a有什么价值。
标签: java loops nested-loops