Java 代码:数组元素交换 - 算法练习
Java 代码:数组元素交换
问题描述: 给定一个整型数组,要求将数组中最大的元素与第一个元素交换,最小的元素与最后一个元素交换。
输入格式: 输入一行字符串(由不同的整数组成,以空格分开)
输出格式: 首先以数组形式输出初始字符串(一行一个数字),然后以数组形式输出完成交换后的字符串(一行一个数字)。
输入样例: 2 9 0 10
输出样例: 2 9 0 10 10 9 2 0
代码:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] input = scanner.nextLine().split(" ");
int[] nums = new int[input.length];
for (int i = 0; i < input.length; i++) {
nums[i] = Integer.parseInt(input[i]);
}
int maxIndex = 0;
int 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[0];
nums[0] = nums[maxIndex];
nums[maxIndex] = temp;
temp = nums[nums.length - 1];
nums[nums.length - 1] = nums[minIndex];
nums[minIndex] = temp;
for (int num : nums) {
System.out.println(num);
}
}
}
代码解释:
- 使用
Scanner类读取输入的字符串,并使用split(" ")方法将字符串分割成一个字符串数组input。 - 创建一个整型数组
nums,并根据input数组的大小进行初始化。 - 使用循环遍历
input数组,并将每个字符串元素转换为整型,并将其存储到nums数组中。 - 初始化两个变量
maxIndex和minIndex,分别表示最大元素和最小元素的索引,初始值为 0。 - 使用循环遍历
nums数组,找到最大元素和最小元素的索引。 - 使用
temp变量进行元素交换操作,将最大元素与第一个元素交换,最小元素与最后一个元素交换。 - 使用循环遍历
nums数组,将交换后的元素输出。
注意事项:
- 代码中使用
split(" ")方法分割字符串,因此输入的字符串必须以空格分隔。 - 代码中使用
Integer.parseInt(input[i])方法将字符串转换为整型,因此输入的字符串必须是数字。 - 代码中使用
System.out.println(num)方法输出结果,因此输出的结果将以一行一个数字的形式输出。
原文地址: https://www.cveoy.top/t/topic/pbmq 著作权归作者所有。请勿转载和采集!