• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

confusing for Loop.

 
Ranch Hand
Posts: 435
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
What will the following code print?

Ans: It will print 10
My question is that the if statement satisfies in the 2 checking loop itself.first
c=0;
i=0,j=0,k=0;--->c=1
i=0,j=0,k=1;---> c=2
here itself k>j i.e 1>0
so the value of c must be 2..
please explain where am i wrong?
Sonir
 
Ranch Hand
Posts: 732
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
the break statement in the most inner loop only stops the most inner loop.
the 2 outer ones will continue again so at the end c is 10.
 
Ranch Hand
Posts: 287
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
If you put println's inside each for loop & one right after c is incremented you will see this result:
F:\JavaProgs>java Test
i is: 0
j is: 0
k is: 0
c is: 1
k is: 1
c is: 2
j is: 1
k is: 0
c is: 3
k is: 1
c is: 4
k is: 2
c is: 5
i is: 1
j is: 0
k is: 0
c is: 6
k is: 1
c is: 7
j is: 1
k is: 0
c is: 8
k is: 1
c is: 9
k is: 2
c is: 10
10
If you use this to follow the loops thru I think you will get it.....you have to remember that when you break out of a loop to another loop the inner loop variable will be re-initialized when it is hit again. Look at the code & these results & try writing it down in a small chart.....I thikn this will help you see whats up.
[ January 13, 2002: Message edited by: DC Dalton ]
 
reply
    Bookmark Topic Watch Topic
  • New Topic