在Java中查找具有不同数据类型的最多3个数字

2022-09-01 00:14:07

假设我有以下三个常量:

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

我想取其中三个并用于查找三个值中的最大值,但是如果我传入两个以上的值,那么它会给我一个错误。例如:Math.max()

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

请让我知道我做错了什么。


答案 1

Math.max只需要两个参数。如果希望最多三个,请使用 。Math.max(MY_INT1, Math.max(MY_INT2, MY_DOUBLE2))


答案 2

如果可能的话,在Apache Commons Lang中使用NumberUtils - 那里有很多很棒的实用程序。

https://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/math/NumberUtils.html#max(int[])

NumberUtils.max(int[])