wood burning stoves 2.0*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Majji #Q.28 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Majji #Q.28" Watch "Majji #Q.28" New topic
Author

Majji #Q.28

Punitha krishna
Greenhorn

Joined: Nov 22, 2000
Posts: 16
1: public void check()
2: {
3: System.out.println(Math.min(-0.0,+0.0));
4: System.out.println(Math.max(-0.0,+0.0));
5: System.out.println(Math.min(-0.0,+0.0) == Math.max(0.0,+0.0));
6: }

A) prints -0.0, +0.0 and false.
B) prints -0.0, +0.0 and true.
C) prints 0.0, 0.0 and false.
D) prints 0.0, 0.0 and true.
The correct answer is A.
How come System.out.println(Math.min(-0.0,+0.0) == Math.max(0.0,+0.0)) is true. I thought it is false because Math.min(-0.0,+0.0) is -0.0 and Math.max(0.0,+0.0)) is 0.0.
Thanx in adv
Anbooo Sanygao
Ranch Hand

Joined: Oct 04, 2000
Posts: 45
hope the following Notes from JLS makes it clear
http://java.sun.com/docs/books/jls/html/4.doc.html#95845
4.2.3 Floating-Point Types and Values

Positive zero and negative zero compare equal; thus the result of the expression 0.0==-0.0 is true and the result of 0.0>-0.0 is false. But other operations can distinguish positive and negative zero; for example, 1.0/0.0 has the value positive infinity, while the value of 1.0/-0.0 is negative infinity. The operations Math.min and Math.max also distinguish positive zero and negative zero.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Majji #Q.28
 
Similar Threads
confusion on (==)
-0.0 == 0.0 ? help
double question in srinivas majji's mock exam
Math functions
A question from Mock