java中现有一个数组 [5,9,6,99,44,23],要求将最大的元素与第一个元素交换,最小的元素与最后一个元素交换,然后输出交换后的数组。
时间: 2024-10-12 10:11:18 浏览: 56
在Java中,我们可以使用遍历和条件判断来找到数组的最大值、最小值,并完成交换操作。以下是步骤:
1. 定义两个变量 `maxIndex` 和 `minIndex` 分别表示最大值和最小值的索引,初始化为0。
2. 遍历整个数组,如果当前元素比已知的最大值大,更新 `maxIndex`;如果当前元素比已知的最小值小,更新 `minIndex`。
3. 找到最大值和最小值后,分别将它们与第一个元素(索引0)和最后一个元素(索引数组长度减1)进行交换。
4. 最后,输出修改后的数组。
下面是对应的Java代码示例:
```java
int[] array = {5, 9, 6, 99, 44, 23};
// 初始化最大值和最小值及它们的索引
int max = array[0], min = array[array.length - 1];
int maxIndex = 0, minIndex = array.length - 1;
// 找到最大值和最小值的索引
for (int i = 1; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
maxIndex = i;
}
if (array[i] < min) {
min = array[i];
minIndex = i;
}
}
// 交换最大值与第一个元素,最小值与最后一个元素
int temp = array[0];
array[0] = max;
array[maxIndex] = temp;
temp = array[array.length - 1];
array[array.length - 1] = min;
array[minIndex] = temp;
// 输出交换后的数组
System.out.println(Arrays.toString(array));
```
运行此代码后,输出将是交换后的数组 `[99, 5, 6, 9, 44, 23]`。
阅读全文