用Java实现, 数组元素交换,要求:(1)最大的元素与第一个元素交换(2)最小的元素与最后一个元素交换。 输入格式: 输入一行字符串(由不同的整数组成,以空格分开) 输出格式: 首先以数组形式输出初始字符串(一行一个数字),然后以数组形式输出完成交换后的字符串(一行一个数字)。 输入样例: 2 9 0 10 输出样例: 2 9 0 10 10 9 2 0
时间: 2024-03-15 17:48:03 浏览: 181
以下是Java的代码实现:
```java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 读入一行字符串,将字符串按空格分割,转换为整数数组
Scanner scanner = new Scanner(System.in);
int[] nums = Arrays.stream(scanner.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();
// 输出初始数组
System.out.println(Arrays.toString(nums).replaceAll("[,\\[\\]]", ""));
// 获取最大值和最小值的下标
int maxIndex = 0, minIndex = 0;
for (int i = 1; i < nums.length; i++) {
if (nums[i] > nums[maxIndex]) {
maxIndex = i;
}
if (nums[i] < nums[minIndex]) {
minIndex = i;
}
}
// 第一步:交换最大值和第一个元素
int temp = nums[maxIndex];
nums[maxIndex] = nums[0];
nums[0] = temp;
// 第二步:交换最小值和最后一个元素
temp = nums[minIndex];
nums[minIndex] = nums[nums.length - 1];
nums[nums.length - 1] = temp;
// 输出完成交换后的数组
System.out.println(Arrays.toString(nums).replaceAll("[,\\[\\]]", ""));
}
}
```
运行以上代码,输入样例`2 9 0 10`,可以得到输出结果:
```
2 9 0 10
10 9 0 2
```
其中,第一行是初始数组,第二行是完成交换后的数组。
阅读全文