Java编程题 | 数组元素交换

109 阅读2分钟

大家可以关注一下专栏,方便大家需要的时候直接查找,专栏将持续更新~     

题目描述

编写一个Java程序,输入一个整数数组,将最大的元素与第一个元素交换,最小的元素与最后一个元素交换,然后输出修改后的数组。

解题思路

  1. 遍历数组,找到最大元素和最小元素的位置。
  2. 交换最大元素与第一个元素。
  3. 交换最小元素与最后一个元素(注意:如果最大元素就在最后一个位置,需要特别处理)。
  4. 输出修改后的数组。

源码答案

import java.util.Arrays;

public class ArrayElementSwap {
    public static void main(String[] args) {
        int[] arr = {1, 3, 5, 7, 9, 2, 4, 6, 8, 0}; // 示例数组
        int maxIndex = 0; // 最大元素索引
        int minIndex = 0; // 最小元素索引

        // 找到最大和最小元素的索引
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > arr[maxIndex]) {
                maxIndex = i;
            }
            if (arr[i] < arr[minIndex]) {
                minIndex = i;
            }
        }

        // 交换最大元素与第一个元素
        int temp = arr[0];
        arr[0] = arr[maxIndex];
        arr[maxIndex] = temp;

        // 如果最大元素在最后一个位置,更新最小元素的索引
        if (maxIndex == arr.length - 1) {
            minIndex = 0;
        }

        // 交换最小元素与最后一个元素
        temp = arr[arr.length - 1];
        arr[arr.length - 1] = arr[minIndex];
        arr[minIndex] = temp;

        // 输出修改后的数组
        System.out.println("修改后的数组:" + Arrays.toString(arr));
    }
}

输出结果

程序将输出根据题目要求修改后的数组。

例如,如果输入数组为{1, 3, 5, 7, 9, 2, 4, 6, 8, 0},输出结果将是:

修改后的数组:[9, 3, 5, 7, 1, 2, 4, 6, 8, 0]


AI时代的游轮已经到来

如果你觉得开发过程中存在重复性工作,效率不够高。

不妨看看影子的AI+编程玩法,助力每一位编程人员提高效率,无论你是在校学生或是工作者,都应为未来的AIG时代做准备。

赚到啦!满满的AI+编程学习资源,AI与编程资料分享! - 掘金 (juejin.cn)