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


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Break and continue inside the case statement" Watch "Break and continue inside the case statement" New topic
Author

Break and continue inside the case statement

Shiva Mohan
Ranch Hand

Joined: Jan 05, 2006
Posts: 477



The output is 241.But I am getting the answer 151.Please help me for the answer 241 since I have spend myself on this problem for 2 days and couldn�t figure out the correct answer.
wise owen
Ranch Hand

Joined: Feb 02, 2006
Posts: 2023
Adding some of println statement may help you to understand why.

[ September 22, 2006: Message edited by: wise owen ]
Joshua Antony
Ranch Hand

Joined: Jun 05, 2006
Posts: 254
hi Shiva,


FIRST ITERATION:

h=0:

i=1
j=0;
k=h+i+j
=1


So switch(1) which results in calling of case 1:
continue label2 - will result in execution of while condition again NOT the do one
so ++j means j=1;

Then the do condition...
i=2
k=h+i+j
= 0+2+1
=3.

now case 3:
break label2; -- break out of the while loop and to the next iteration of for loop.


Second Iteration:

h=1... I think you should figure out from here what happens.

Hope this will help.
Regards,
Joshua


SCJP,SCWCD, Into ATG now!
Shiva Mohan
Ranch Hand

Joined: Jan 05, 2006
Posts: 477
I have figured out where I was going wrong and this time of my hand calculation got the correct answer with the help of wise and Joshua. Thank you very much. I wouldn�t have figured it out without your help. Thanks again for your time. Great work.
Burkhard Hassel
Ranch Hand

Joined: Aug 25, 2006
Posts: 1274
Hi Shiva,

I think I can guess where your frown came from.

These labels can be tricky, especially in a do-while loop.
Where does the "continue" jump in this example?


It's tempting to say: "Well, it jumps to the label, and the next line is do, followed by if (i==2)."
But that's wrong.
The continue jumps to the while and the i is incremented.
If it wouldn't, the example would be an endless loop. But it isn't, it will print out

013READY


In the example the same would happen if you said continue; (without label).



Yours,

Bu.


all events occur in real time
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Break and continue inside the case statement
 
Similar Threads
Regarding Continue Keyword
Label control doubt??
compile time error
pls consider this program i don't know how h value is incremented in Label1:
what is the diffrence b/W i and i++ and explain inner loops with conditions