Find the max of 3 numbers in Java with different data types

Drew Bartlett picture Drew Bartlett · Feb 13, 2011 · Viewed 113.2k times · Source

Say I have the following three constants:

final static int MY_INT1 = 25;
final static int MY_INT2 = -10;
final static double MY_DOUBLE1 = 15.5;

I want to take the three of them and use Math.max() to find the max of the three but if I pass in more then two values then it gives me an error. For instance:

// this gives me an error
double maxOfNums = Math.max(MY_INT1, MY_INT2, MY_DOUBLE2);

Please let me know what I'm doing wrong.

Answer

Jeremiah Willcock picture Jeremiah Willcock · Feb 13, 2011

Math.max only takes two arguments. If you want the maximum of three, use Math.max(MY_INT1, Math.max(MY_INT2, MY_DOUBLE2)).