嵌套循环,它运行了多少次?

时间:2016-01-18 22:36:27

标签: java loops nested

此嵌套循环运行多少次。如何通过查看代码来确定它。

int i = 5, j =0;
while (i>0)
{
 j = 1;
 while (j<i )
 {
System.out.println(“Inner loop!”);
j++;
 }
 System.out.println(“Outer loop!”);
 i

2 个答案:

答案 0 :(得分:0)

由于您遗漏了最后一行--的{​​{1}},因此永远不会终止。

答案 1 :(得分:0)

好吧,首先,代码不完整,取决于它完成的方式完全改变了答案。它应该是这样的:

int i = 5, j =0;
while (i>0)
{
    j = 1;
    while (j<i )
    {
        System.out.println(“Inner loop!”);
        j++;
    }
    System.out.println(“Outer loop!”);
    i++; // OR i--;
}

如果案例的最后一部分是“i ++”,那么它会运行无限次,因为当“While(i&gt; 0)”评估时,“i”永远不会变得小于0。 “仅在逻辑中,因为数字(在这种情况下为整数)在代码/编译器中具有明确的上限。

如果它的“我 - ”那么它只是一个简单的计数问题。较大的循环[while(i> 0)]将从5倒数到0,并且当i为零时退出,这意味着它将以i = 5,i = 4,i = 3,i = 2运行,而i = 1。这意味着外循环有效运行5次,每次运行少一点。

J从1开始并计数到i [while(j [lessthen] i)]之下,这意味着它将在第一次计数1到4时运行,因为J从1开始,然后变为1 - 我(第一次5)。所以4第一次,3第二次,2第三次,第1次,第1次,第五次没有,因为在最后一种情况下,评价是1(j)[lessthen] 1(i),这是假的并退出循环。

要获得最终数字,您需要计算内环成功发生的次数,在这种情况下为4 + 3 + 2 +1或.... 10次。假设它是“我 - ”