# Math.random

yashendrakar chandrakar

Greenhorn

Posts: 15

posted 15 years ago

following is the question taken from CompleteJava2Certification(by Robert-Heler)

_________________________________________________________________Question:

What is the value of the following expression?

Math.round(Math.random() + 2.50001);

Options:

A)2

B)3

C)can't say.

_________________________________________________________________

According to book

----------------

Correct selection is: B

Math.random() returns a double greater than or equal to 0.0 and less than 1.0. Math.random() + 2.50001 is a double greater than 2.5 and less than 3.5. Math.round() of any number between but not including 2.5 and 3.5 is 3.

But if i m not wrong

-------------------

suppose Math.random() return .99999 then

Math.round(Math.random() + 2.50001);

will be evaluated to

Math.round(.99999 + 2.50001);

or

Math.round(3.5);//it will return 4

so correct selection should be: C)

_________________________________________________________________Question:

What is the value of the following expression?

Math.round(Math.random() + 2.50001);

Options:

A)2

B)3

C)can't say.

_________________________________________________________________

According to book

----------------

Correct selection is: B

Math.random() returns a double greater than or equal to 0.0 and less than 1.0. Math.random() + 2.50001 is a double greater than 2.5 and less than 3.5. Math.round() of any number between but not including 2.5 and 3.5 is 3.

But if i m not wrong

-------------------

suppose Math.random() return .99999 then

Math.round(Math.random() + 2.50001);

will be evaluated to

Math.round(.99999 + 2.50001);

or

Math.round(3.5);//it will return 4

so correct selection should be: C)

Vikrama Sanjeeva

Ranch Hand

Posts: 760