aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Nested loop Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Nested loop " Watch "Nested loop " New topic
Author

Nested loop

Faqeer Khudaka
Ranch Hand

Joined: Jan 24, 2006
Posts: 32
Hello,

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



regards
Srinivas Tuta
Greenhorn

Joined: Oct 12, 2005
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
Sheriff

Joined: Sep 28, 2004
Posts: 18896
    
  40

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


Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
satya mahapatra
Ranch Hand

Joined: Jan 07, 2006
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);}}


Regards,<br />Satya<br />SCJP,SCWCD
satya mahapatra
Ranch Hand

Joined: Jan 07, 2006
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

Joined: Jan 07, 2006
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

Joined: Dec 26, 2005
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(...);


thanks,<br />Anju Sethi
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Nested loop