有人可以向我解释为什么这个嵌套循环函数以这种方式打印吗?
Can someone explain to me why this nested loop function print this way?
下面是运行的代码:
public static void main(String[] args)
{
for (int i=1; i<=6; i++)
{
for (int j=1; j<=i; j++)
System.out.print("*");
System.out.print("-");
}
}
为什么打印
*-**-***-****-*****-******-
而不是
* _ ** __ *** ___ **** ____ *****_____******______
System.out.print("-");
不在内循环中。因此,外循环的每次迭代只打印一次。
当您正确缩进代码时,这会变得更加清晰:
for (int i=1; i<=6; i++)
{
for (int j=1; j<=i; j++)
System.out.print("*");
System.out.print("-");
}
即使它在内部循环中(通过添加大括号),您仍然无法获得预期的输出,因为在每个 *
之后您会得到一个 -
。
为了获得预期的输出,您需要两个内部循环:
for (int i=1; i<=6; i++)
{
for (int j=1; j<=i; j++)
System.out.print("*");
for (int j=1; j<=i; j++)
System.out.print("-");
}
这是因为没有将您的 print("-")
放入任何内部循环中,将您的循环更改为:
for (int i=1; i<=6; i++)
{
for (int j=1; j<=i; j++)
System.out.print("*");
for (int j=1; j<=i; j++)
System.out.print("-");
}
你的问题就会解决。
下面是运行的代码:
public static void main(String[] args)
{
for (int i=1; i<=6; i++)
{
for (int j=1; j<=i; j++)
System.out.print("*");
System.out.print("-");
}
}
为什么打印
*-**-***-****-*****-******-
而不是
* _ ** __ *** ___ **** ____ *****_____******______
System.out.print("-");
不在内循环中。因此,外循环的每次迭代只打印一次。
当您正确缩进代码时,这会变得更加清晰:
for (int i=1; i<=6; i++)
{
for (int j=1; j<=i; j++)
System.out.print("*");
System.out.print("-");
}
即使它在内部循环中(通过添加大括号),您仍然无法获得预期的输出,因为在每个 *
之后您会得到一个 -
。
为了获得预期的输出,您需要两个内部循环:
for (int i=1; i<=6; i++)
{
for (int j=1; j<=i; j++)
System.out.print("*");
for (int j=1; j<=i; j++)
System.out.print("-");
}
这是因为没有将您的 print("-")
放入任何内部循环中,将您的循环更改为:
for (int i=1; i<=6; i++)
{
for (int j=1; j<=i; j++)
System.out.print("*");
for (int j=1; j<=i; j++)
System.out.print("-");
}
你的问题就会解决。