Author
Doubt from Whizlab Question
cfish meena
Greenhorn
Joined: Apr 05, 2007
Posts: 19
posted Aug 24, 2007 23:37:00

0

can anyone please explain me why the output is 3.And x-- should be 0.since it changes to 1 only in next place of x right ,as it is a post increment..Am i right ...Please explain this. public class sample12 { static{ int x=5; } static int x,y; public static void main(String [] args) { x--; myMethod(); System.out.println(x+y + ++x); } public static void myMethod(){ y=x++ + ++x; } }
anil kumar
Ranch Hand
Joined: Feb 23, 2007
Posts: 447
posted Aug 24, 2007 23:52:00
0

Hi public class sample12 { static{ int x=5; } static int x,y;//Default values are x=0,y=0 public static void main(String[] args) { x--; myMethod();//At this statement the value of x is -1 and y =0 System.out.println(x+y + ++x);//here 1+0+2 so output is 3 } public static void myMethod(){ y=x++ + ++x;// at this statement y=-1+1 so y=0;but x=1; because here x is incremeted twice } } Thanks Anil Kumar
V Gala
Ranch Hand
Joined: Aug 06, 2007
Posts: 113
posted Aug 25, 2007 00:00:00
0

hi when code enter mymethod the value of x is -1 y=x++ + ++x; x++->the value of x is read first as -1 and then incremented to 0. ++x->the value of x is first incremented to 1 and then read. therefore the value of x is 1. now y= -1+1=0 and x=1 now x+ y+ ++x first expression are evaluated and then addition take place ++x->the value of x is first incremented to 2 and then read. now x+y+++x = 1+0+2=3
Amitji Sharma
Greenhorn
Joined: Dec 26, 2006
Posts: 16
posted Aug 25, 2007 00:05:00
0

here is solution see comments public class sample12 { static{ int x=5; } static int x,y;; public static void main(String[] args) { x--; //x=-1 here because before this statement x=0(default value) myMethod(); System.out.println(x+y + ++x);//here (x+y ++x)(1+0+2)and prints 3 } public static void myMethod(){ y=x++ + ++x; //here y=-1+1 which is zero; and x becomes 1 } }
Amit Sharma<br />There is only one proof of ability that's Result.
cfish meena
Greenhorn
Joined: Apr 05, 2007
Posts: 19
posted Aug 25, 2007 01:19:00

0

Thanks for all your reply.I have understood it now.Thanks a lot
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
subject: Doubt from Whizlab Question