Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

doubt

 
lp
Ranch Hand
Posts: 52
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i came across this question in JQ++. it is as follows:
public class Test
{
public static void main(String[] args)
{
int sum=0;
for(int i=0,j=10;sum>20;++i,--j)
{
sum +=i+j;
}
System.out.println(sum);
}
}
i thought the answer would be 20 but instead when i saw the answer it was 0.could anyone please explain this .
Thanks
Lakshmi
 
Michael Ernest
High Plains Drifter
Sheriff
Posts: 7292
Netbeans IDE VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The for loop never executes because the test condition (sum > 20) fails on the first pass.
------------------
Michael Ernest, co-author of: The Complete Java 2 Certification Study Guide
 
lp
Ranch Hand
Posts: 52
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks i got it .
 
Roopa Bagur
Ranch Hand
Posts: 267
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You are getting 0 as the output because the condition sum>20 is false & the program jumps out of the for loop printing sum as 0.
Change the condition to sum<=20.<br />
Originally posted by lakshmi panda:<br /> i came across this question in JQ++. it is as follows:<br /> public class Test <br /> {<br /> public static void main(String[] args)<br /> {<br /> int sum=0;<br /> for(int i=0,j=10;sum>20;++i,--j)
{
sum +=i+j;
}
System.out.println(sum);
}
}
i thought the answer would be 20 but instead when i saw the answer it was 0.could anyone please explain this .
Thanks
Lakshmi

 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic