在Java程序中,现有一个int型 维数组int array ]=(1,4,2,3,0,5,7);编写 个程序输出其中的最大值与最小值的和。要求不使用for-each循环也不使用Arrays.stream(array)
时间: 2024-12-01 15:29:35 浏览: 0
要实现这个需求,可以使用两个指针从数组的两端开始向中间移动,一个寻找最大值,另一个寻找最小值。这里我们不使用for-each循环或流式API,而是直接遍历数组。
以下是Java代码来实现这一功能[^1]:
```java
public class Main {
public static void main(String[] args) {
int[] array = {1, 4, 2, 3, 0, 5, 7};
int min = array[0];
int max = array[0];
// 初始化指针i和j
int i = 0;
int j = array.length - 1;
while (i < j) {
// 如果左侧值小于右侧值,更新min
if (array[i] < array[j]) {
min = array[i];
i++;
}
// 否则,如果左侧值大于右侧值,更新max
else {
max = array[j];
j--;
}
}
// 最终的最小值和最大值相加
int sum = min + max;
System.out.println("Sum of minimum and maximum: " + sum);
}
}
```
这段代码首先假设第一个元素既是最小值又是最大值,然后通过指针i从左往右移动(增加),指针j从右往左移动(减少)。当左右指针相遇时,它们会找到真正的最小值和最大值。最后计算并打印它们的和。
阅读全文