File APIs for Java Developers Manipulate DOC, XLS, PPT, PDF and many others from your application. http://aspose.com/file-tools
Big Moose Saloon
 Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies Register / Login

# 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,

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: 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).

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