Posts

Showing posts from August, 2016

Integer.MAX_VALUE, Double.POSITIVE_INFINITY and Double.NaN in Java

I have three questions for you in form of loop, you have to write a simple declaration by which the loop will never terminate and will run infinitely. I have given the hint in the title itself.   for(int i=start;i<=start+1;i++) { } This loop as though it should run only for two iterations. But, by taking the advantage of hint i.e. Integer.MAX_VALUE you can make it run indefinitely as below. int start =Integer.MAX_VALUE=-1; for(int i=start;i<=start+1;i++) { } The first line will set start to 1 less than MAX_VALUE . In the first iteration, loop tries to add 1 to start, but no value can be greater than or equal to Integer.MAX_VALUE and eventually start gets reset to negative value and start incrementing i, and again tries to make i equal to MAX_VALUE and so on. Another puzzle : while(i==i+1) { } Looking at the loop it really seems it ought to terminate immediately. A number can never be itself plus 1, right ?. But