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);
        }
    }
}

代码解释:

  1. 使用 Scanner 类读取输入的字符串,并使用 split(" ") 方法将字符串分割成一个字符串数组 input
  2. 创建一个整型数组 nums,并根据 input 数组的大小进行初始化。
  3. 使用循环遍历 input 数组,并将每个字符串元素转换为整型,并将其存储到 nums 数组中。
  4. 初始化两个变量 maxIndexminIndex,分别表示最大元素和最小元素的索引,初始值为 0。
  5. 使用循环遍历 nums 数组,找到最大元素和最小元素的索引。
  6. 使用 temp 变量进行元素交换操作,将最大元素与第一个元素交换,最小元素与最后一个元素交换。
  7. 使用循环遍历 nums 数组,将交换后的元素输出。

注意事项:

  • 代码中使用 split(" ") 方法分割字符串,因此输入的字符串必须以空格分隔。
  • 代码中使用 Integer.parseInt(input[i]) 方法将字符串转换为整型,因此输入的字符串必须是数字。
  • 代码中使用 System.out.println(num) 方法输出结果,因此输出的结果将以一行一个数字的形式输出。
Java 代码:数组元素交换 - 算法练习

原文地址: https://www.cveoy.top/t/topic/pbmq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录