Using Double.POSITIVE_INFINITY in Java to find minimum value
12,754
Solution 1
It is safe to use Double.POSITIVE_INFINITY. From the specification
All values other than NaN are ordered, with negative infinity less than all finite values, and positive infinity greater than all finite values.
Solution 2
Just set the minimum to the first element of the array (values[0) since you assume that at-least one value exists. If there is only one element, it must be the minimum, and otherwise, it will be updated accordingly.
![donnyton](https://i.stack.imgur.com/PooNZ.jpg?s=256&g=1)
Author by
donnyton
Updated on June 16, 2022Comments
-
donnyton about 2 years
Simple question: will the following code work for finding the minimum value in an array of doubles (assume at least one value exists):
double[] values = ... double currentMin = Double.POSITIVE_INFINITY; for(int i = 0; i < values.length; i++) { if(values[i] < currentMin) { currentMin = values[i]; } } return currentMin;
The crux of the question is whether POSITIVE_INFINITY will behave as expected when compared to other (real) double values, as well as potential infinities themselves.