Java求(66.55.77.99.111,88.11.33.22.44)数组元素的最小值。
时间: 2024-10-25 21:08:24 浏览: 15
在Java中,如果你有一个IP地址数组,如 `String[] ipArray = {"66.55.77.99", "88.11.33.22", "44"}`,由于这里包含了一个整数"44",直接计算最小值可能会有困惑,因为我们需要将每个部分视为单独的整数来进行比较。可以先将每个IP字符串分割成四个数字,并转换为整数,然后再找出最小值。
你可以这样做:
```java
import java.util.Arrays;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
String[] ipArray = {"66.55.77.99", "88.11.33.22", "44"};
// 将IP地址分割成整数列表
int[] parts = Arrays.stream(ipArray)
.map(s -> s.split("\\."))
.flatMapToInt(Arrays::stream)
.map(Integer::parseInt)
.toArray();
// 找出最小值
int minValue = Arrays.stream(parts)
.min()
.orElseThrow(() -> new IllegalArgumentException("Invalid IP address array"));
System.out.println("The minimum value is: " + minValue);
}
}
```
这个程序首先使用`split("\\.")`函数将每个IP地址分割成四个部分,然后使用`mapToInt`和`collect`将字符串列表转换为整数列表。最后,`Arrays.stream(parts).min()`找到并返回最小值。
注意:如果输入数组中有无法解析为整数的部分,上述代码会抛出异常。在实际应用中,你需要添加适当的错误处理。
阅读全文