for (int j = 0; j < 5; j++) //inner loop
に置き換える必要があります
for (int j = 0; j < 5 && !exitloops; j++)
。
ここで、この場合、完全なネストされたループは、条件が の場合に終了する必要がありTrue
ます。でも exitloops
アッパーだけ使うとloop
for (int i = 0; i < 5 && !exitloops; i++) //upper loop
この内部ループが終了することを通知する追加のフラグがないため、内部ループが続行されます。
例: if i = 3
and j=2
then condition is false
. しかし、内側のループの次の反復ではj=3
、条件は(i*j)
になります9
が、内側のループはになるtrue
まで続きます。j
5
したがって、exitloops
内側のループにも使用する必要があります。
boolean exitloops = false;
for (int i = 0; i < 5 && !exitloops; i++) { //here should exitloops as a Conditional Statement to get out from the loops if exitloops become true.
for (int j = 0; j < 5 && !exitloops; j++) { //here should also use exitloops as a Conditional Statement.
if (i * j > 6) {
exitloops = true;
System.out.println("Inner loop still Continues For i * j is => "+i*j);
break;
}
System.out.println(i*j);
}
}