Big Moose Saloon
 Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies Register / Login

# Kathy's book - chapter 6 - question #7

Mansi Vyas
Greenhorn

Joined: Jul 01, 2003
Posts: 27
The answer is a, b, and d. What types of implicit conversions are going on for b and d?
Thanks.
Mansi
Corey McGlone
Ranch Hand

Joined: Dec 20, 2001
Posts: 3271
As not everyone has a copy of the book (including myself), you might find that you get more responses if you were to include the original question in your post.

SCJP Tipline, etc.
Damien Howard
Ranch Hand

Joined: Apr 01, 2003
Posts: 456
I believe that in b 2.3 is truncated to an int value of 2, thus the version of Math.max is the one that takes 2 ints.
And in D the -2.8f is widened to a double, thus in this case the version of Math.max is the one that accepts 2 doubles.
Mansi Vyas
Greenhorn

Joined: Jul 01, 2003
Posts: 27
Sorry for not including the question. Here it is...
Which of the following are valid calls to Math.max? Choose all that apply.
A. Math.max(1,4)
B. Math.max(2.3, 5)
C. Math.max(1,3,5,7)
D. Math.max(-1.5, -2.8f)
In choice B, I think that the 5 is being implicity converted to a 5.0(double). In choice D, I think that -2.8f is being implicity promoted to a double. Both are invoking the following method signiture, double max(double a, double b).
Is this correct?
Thanks.
Mansi
Andres Gonzalez
Ranch Hand

Joined: Nov 27, 2001
Posts: 1561
Correct...
The thing to remember here is this order:
byte
short
int
long
float
double
So, for example, in option D. we have a float and a double, so we know that float can be implicitly promoted to a double.
HTH

I'm not going to be a Rock Star. I'm going to be a LEGEND! --Freddie Mercury

I agree. Here's the link: http://aspose.com/file-tools

subject: Kathy's book - chapter 6 - question #7