用Java打印简单模式

时间:2016-10-06 04:30:10

标签: java for-loop nested-loops

有人可以解释在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();
    }
}

4 个答案:

答案 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语句,它将带你到下一行。

然后你回到外循环。