java,处理嵌套循环?

时间:2011-06-21 05:09:50

标签: java while-loop

我使用此代码:

int contadorA = 1, contadorB = 1;

while (contadorA <= 5) {
    println ("banking " + contadorA);
    contadorA++;

    while (contadorB <= 3) {
         println ("month " + contadorB);
        contadorB++;
    }
}

代码打印出来:

银行1 第1个月 第2个月 第3个月 银行2 银行3 银行4 银行5

我需要打印这个:

银行1 第1个月 第2个月 第3个月 银行2 第1个月 第2个月 第3个月 银行3 第1个月 第2个月 第3个月 银行4 第1个月 第2个月 第3个月 银行5 第1个月 第2个月 第3个月

5 个答案:

答案 0 :(得分:4)

我不会发布代码,道歉。

我会暗示一下。在内循环中,您在输入时不会重置计数器。这意味着执行第一个外部循环后contadorB的值为4,并且它永远不会再次进入内部循环。

这是另一个提示。逐步调试调试器中的代码(如果您还没有理解我之前的提示,请查看contadorB)的值。

答案 1 :(得分:0)

在第一个while循环中但在第二个while循环之前声明int contadorB = 1;。换句话说,您只是为第一个while循环的每次迭代重置变量。

答案 2 :(得分:0)

在第二个while循环结束时检查contadorB的值。

答案 3 :(得分:0)

您没有在循环内重置第二个计数器。你需要这样做:

int contadorA = 1, contadorB = 1;

while (contadorA <= 5) {

    println ("banking " + contadorA);
    contadorA++;

    contadorB = 1;
    while (contadorB <= 3) {

    println ("month " + contadorB);
    contadorB++;


    }

}

答案 4 :(得分:0)

此代码将指出您的问题:

int contadorA = 1, contadorB = 1;

while (contadorA <= 5) {
    println ("banking " + contadorA);
    contadorA++;

    while (contadorB <= 3) {
         println ("month " + contadorB);
        contadorB++;
    }
    println ("contadorA: " + contadorA + "\n contadorB: " + contadorB + "\n");
}