Win a copy of Kotlin in Action this week in the Kotlin forum!
programming forums Java Java JSRs Mobile Certification Databases Caching Books Engineering OS Languages Frameworks Products This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
Sheriffs:
Saloon Keepers:
Bartenders:

# Break and continue inside the case statement

Shiva Mohan
Ranch Hand
Posts: 486

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
Posts: 2023

[ September 22, 2006: Message edited by: wise owen ]

Joshua Antony
Ranch Hand
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

Shiva Mohan
Ranch Hand
Posts: 486
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
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