Java Programming - Java.lang Class - Discussion


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 A


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.

Rajshri said: (Nov 21, 2013)  
Math.random gives a random number, then why I is between 0 and 1.

Saptarshi Das said: (Dec 27, 2016)  
Because it gives random numbers between 0 and 1.

Post your comments here:

Name *:

Email   : (optional)

» Your comments will be displayed only after manual approval.