# Nested loop

Faqeer Khudaka
Ranch Hand
Posts: 32
Hello,

Can anyone explain how the answer is 012345 for the following nested loop mock exam question:

regards

Srinivas Tuta
Greenhorn
Posts: 10
Hi,

outer while loop loops for three times.

first loop : inner do-while loops for four times j=0,j=1,j=2,j=3

second loop: since do-while j=4

third loop: j=5

outer loop breaks as i became 3

thankyou
Srinivas

Henry Wong
author
Marshal
Posts: 21190
80
The outer while loop will run three times, with i = 0, with i = 1, and then with i = 2.

The first time the do loop runs, it will run 4 times. with j = 0, with j = 1, with j = 2, and then with j = 3. The reason there seems to be an extra iteration is because the condition check for the do-loop is at the end.

The second and third time the do-loop runs, they will both run once each -- with j = 4, and with j = 5. Just as before, since the checking is at the end, it seems to run at least one extra iteration.

Henry

satya mahapatra
Ranch Hand
Posts: 134
class JMM114
{
public static void main (String[] args)
{
int i = 0, j = 0;
while (i++ < 3) do System.out.print(j); while (j++ < 3);}}

satya mahapatra
Ranch Hand
Posts: 134
class JMM114
{
public static void main (String[] args)
{
int i = 0, j = 0;
while (i++ < 3)
{
do

System.out.print(j);
while (j++ < 3);}}

satya mahapatra
Ranch Hand
Posts: 134
class JMM114
{
public static void main (String[] args)
{
int i = 0, j = 0;
while (i++ < 3)
{
do
{
System.out.print(j);
}while (j++ < 3);
}
}
}
so while(i++<3) is the outer loop. and do-while loop is inner loop. i think now ye doubt is cleard;

Anju sethi
Ranch Hand
Posts: 91
...thanks for explanation.

this is a silly question but i want to know
On the first place, is it possible to have multiple lines in a while loop without starting and ending braces.

for eg. how "while(...)do{....}while(...);" is including multiple lines as the body of the outer while loop without braces.
Ideally it should be while(...){
do{....}
while(...);
}

as per my knowledge, without braces any loop will have only one (first) statement in the body of the loop.

why we are not getting problem in the above code
while(...)do{....}while(...);