"I never see what has been done; I only see what remains to be done."
- Marie Curie
8.
What will be the output of the program?
int i = (int) Math.random();
[A].
i = 0
[B].
i = 1
[C].
value of i is undetermined
[D].
Statement causes a compile error
Answer: Option D
Explanation:
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.