有人可以解释在Java中打印简单模式背后的基础知识吗?
我将给出一个具体的例子。
我希望有人能够澄清每条线路的作用,以便更好地了解其工作原理。任何其他解释的例子(逐行)也将不胜感激!
public static void drawPyramidPattern() {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5 - i; j++) {
System.out.print(" ");
}
for (int k = 0; k <= i; k++) {
System.out.print("* ");
}
System.out.println();
}
}
答案 0 :(得分:0)
通过循环打印任何内容或所有内容只是为了理解执行流程。在你的代码中,如果你开始逐行观察流程,你就会知道它是如何正常工作的。
如果您了解它是如何工作的,您将能够打印任何模式,但基本应该是清楚的。尝试在每次迭代后打印变量i,j和k值。查看每个执行周期后如何更改的值,然后查看您已应用的逻辑。
你的问题范围有点广泛,除非缩小范围,否则无法准确回答。我建议逐行运行并观察输出,尝试更多更改,即使它没有任何意义,即使对于所有未来任务,您也要对循环有很好的理解。如果在尝试自己之后,你遇到任何问题,在这里分享,人们已经准备好解决它们了。 :)
希望这有帮助。
答案 1 :(得分:0)
首先,您必须完全了解循环,嵌套循环然后进入模式设计。
1)首先以寄存器/页面上的硬形式运行循环以了解循环 2)使用调试器来识别循环进度。
答案 2 :(得分:0)
如果从数学角度考虑它,循环只是函数。
单个for循环只是x。
实施例
for (int i = 0; i < 5; i++) {
System.out.println("This is function x.");
}
然而,当你开始嵌套循环时,因为更强大的功能。另一个for循环中的for循环将是函数x ^ 2
例如:
for (int i = 0; i < 5; i++) {
for (int j = 0; J < 5; j++){
System.out.println("This is the j loop");
}
System.out.println("This is the i loop");
}
这背后的原因是因为为了完成i的第一次迭代,必须完成循环内的所有内容。但是,i循环内部有另一个循环,所以必须先完成。所以带有j的循环必须执行直到完成。 (在这种情况下5次),太好了,现在我们可以增加i。但是现在我们必须再次穿过j!这个过程一直持续到我达到&lt;所以输出看起来像这样
Output:
This is the j loop
This is the j loop
This is the j loop
This is the j loop
This is the j loop
This is the i loop
This is the j loop
This is the j loop
....
这将持续到i达到5,在这种情况下它不再满足必要的i&lt; 5,循环结束。希望这有助于
答案 3 :(得分:0)
首先,因为i = 0&amp; 0 <5表示您输入第一个(外部)for循环。
记住我= 0。
然后j = 0;但是0&lt; i = 0为假,因此您不进入第二个循环。
对于第三个循环,k = 0&amp; 0 <= 0是真的。所以你进入循环并执行print语句,即打印一个星号。
k ++,这会将k递增1并检查布尔值;你问自己是1&lt; = 0;显然没有;所以你退出for循环,然后到达println语句,它将带你到下一行。
然后你回到外循环。