public class Solution { public static void main(String[] args) throws Exception { int[] data = new int[]{1, 2, 3, 5, -2, -8, 0, 77, 5, 5}; Pair<Integer, Integer> result = getMinimumAndMaximum(data); System.out.println("最小值为 " + result.x); System.out.println("最大值为 " + result.y); } public static Pair<Integer, Integer> getMinimumAndMaximum(int[] array) { if (array == null || array.length == 0) { return new Pair<Integer, Integer>(null, null); } //在此编写你的代码 return new Pair<Integer, Integer>(0, 0); } public static class Pair<X, Y> { public X x; public Y y; public Pair(X x, Y y) { this.x = x; this.y = y; } } } 修改此代码并且完成这些要求 程序不得从键盘读取数据。 // 不要更改 Pair 类。 // 不要更改 main 方法。 // 完成编写 getMinimumAndMaximum 方法。它必须返回一个包含最小值和最大值的对。 // 程序必须返回正确的结果。 // getMinimumAndMaximum() 方法不应修改 inputArray 数组。
时间: 2024-01-24 12:04:47 浏览: 135
下面是修改后的代码,实现了返回数组的最小值和最大值:
```java
public class Solution {
public static void main(String[] args) throws Exception {
int[] data = new int[]{1, 2, 3, 5, -2, -8, 0, 77, 5, 5};
Pair<Integer, Integer> result = getMinimumAndMaximum(data);
System.out.println("最小值为 " + result.x);
System.out.println("最大值为 " + result.y);
}
public static Pair<Integer, Integer> getMinimumAndMaximum(int[] array) {
if (array == null || array.length == 0) {
return new Pair<Integer, Integer>(null, null);
}
int min = array[0];
int max = array[0];
for (int i = 1; i < array.length; i++) {
if (array[i] < min) {
min = array[i];
}
if (array[i] > max) {
max = array[i];
}
}
return new Pair<Integer, Integer>(min, max);
}
public static class Pair<X, Y> {
public X x;
public Y y;
public Pair(X x, Y y) {
this.x = x;
this.y = y;
}
}
}
```
在 getMinimumAndMaximum 方法中,我们使用两个 if 语句分别判断当前元素是否是最小值或最大值,然后更新 min 和 max 的值即可。注意,这里使用了两个 if 语句而不是 if-else 语句,因为一个元素可能既是最小值又是最大值。
阅读全文