*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Dan's - Math.abs Question.. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Dan Watch "Dan New topic
Author

Dan's - Math.abs Question..

Samy Venkat
Greenhorn

Joined: May 26, 2003
Posts: 10
Hi Dan,
For the below program why 'f' is also included in the answer.
Which of the following statements are true in terms of the java.lang.Math.abs method?
a. Four overloaded versions of abs exist.
b. An ArithmeticException is declared in the throws clause.
c. The type of the return value depends on the type of the argument.
d. The returned value is always of a floating-point primitive type.
e. If the argument is greater than or equal to zero then the returned value is equal to the argument.
f. If the argument, arg, is less than zero then the returned value is -arg.
Thx
Anupam Sinha
Ranch Hand

Joined: Apr 13, 2003
Posts: 1088
Hi Samy
This is because -arg for a -ve no. will be-(-ve no.). So this will make it positive.
Yi Meng
Ranch Hand

Joined: May 07, 2003
Posts: 270
quote from api
public static int abs(int a)Returns the absolute value of an int value. If the argument is not negative, the argument is returned. If the argument is negative, the negation of the argument is returned.
Note that if the argument is equal to the value of Integer.MIN_VALUE, the most negative representable int value, the result is that same value, which is negative.

As you can see here for negative values, their negation will be returned. And specially for Integer.MIN_VALUE, its negation is just the same as itself and so is Long.MIN_VALUE.
It could be wrong also if the statement is changed to:
The value returned is always non-negative.


Meng Yi
Jim Kirkby
Greenhorn

Joined: Jun 09, 2003
Posts: 4
So the option 'f' shouldn't be true 'cause for the Integer.MIN_VALUE and Long.MIN_VALUE, the pass-in parameter and return value are the same, both negative. Right?


SCJP 1.4<br />SCWCD 1.4 Beta(waiting for result)
Dan Chisholm
Ranch Hand

Joined: Jul 02, 2002
Posts: 1865
Originally posted by Jim Kirkby:
So the option 'f' shouldn't be true 'cause for the Integer.MIN_VALUE and Long.MIN_VALUE, the pass-in parameter and return value are the same, both negative. Right?

The source code for the Math.abs method is as follows.

In my opinion, it is always correct to say the following.
If the argument, arg, is less than zero then the returned value is -arg.

In my opinion, the fact that the negation of negative infinity is the same as negative infinity doesn't violate the above quote.


Dan Chisholm<br />SCJP 1.4<br /> <br /><a href="http://www.danchisholm.net/" target="_blank" rel="nofollow">Try my mock exam.</a>
Andres Gonzalez
Ranch Hand

Joined: Nov 27, 2001
Posts: 1561
I had the same confusion
here...


I'm not going to be a Rock Star. I'm going to be a LEGEND! --Freddie Mercury
 
wood burning stoves
 
subject: Dan's - Math.abs Question..
 
Similar Threads
question about Math class
Dan Chisholm's Question on java.lang.Math.abs
Maybe a error in Mr Dan's Mock
Seed Value
Dan's Mock- Math.abs()