"I never see what has been done; I only see what remains to be done."
- Marie Curie
What will be the output of the program?
int i = (int) Math.random();
i = 0
i = 1
value of i is undetermined
Statement causes a compile error
Answer: Option D
Math.random() returns a double value greater than or equal to 0 and less than 1. Its value is stored to an int but as this is a narrowing conversion, a cast is needed to tell the compiler that you are aware that there may be a loss of precision.
The value after the decimal point is lost when you cast a double to int and you are left with 0.