File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
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 REST with Spring (video course) this week in the Spring 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

Break and continue inside the case statement

Shiva Mohan
Ranch Hand

Joined: Jan 05, 2006
Posts: 481

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,




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...
= 0+2+1

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.

Shiva Mohan
Ranch Hand

Joined: Jan 05, 2006
Posts: 481
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


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



all events occur in real time
I agree. Here's the link:
subject: Break and continue inside the case statement
It's not a secret anymore!