交换数组中的两个元素(Java 描述)

76 阅读1分钟

交换数组中的两个元素(Java 描述)

1. 问题描述

给定一个数组A和两个索引,请交换数组中下标为这两个索引的元素。

2. 问题示例

输入:A=[1,2,3,4],index1 = 2,index2 = 3 。 输出:交换后数组是[1,2,4,3],不需要返回任何值,只要对数组进行交换即可。

3. 代码实现

import java.util.Arrays;
import java.util.Scanner;

public class Play001 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 假设我们知道数组的大小
        System.out.print("请输入数组的大小: ");
        int size = scanner.nextInt();

        // 创建一个整数数组来存储输入的值
        int[] A = new int[size];

        // 读取数组中的每个元素
        for (int i = 0; i < size; i++) {
            System.out.print("请输入数组索引为 ["+(i) + "] 的元素的值: ");
            A[i] = scanner.nextInt();
        }

        System.out.print("输入交换源元素的索引=");
        int origin = scanner.nextInt();
        System.out.print("输入交换目标元素的索引=");
        int target = scanner.nextInt();
        // 关闭扫描器
        scanner.close();
        // 验证索引是否有效
        if (origin < 0 || origin >= size || target < 0 || target >= size) {
            System.out.println("错误:索引值超出数组范围。");
            return; // 终止程序
        }
        swapIntegers(A, origin, target);
        System.out.print("输出:");
        System.out.println(Arrays.toString(A));


    }

    public static void swapIntegers(int[] A, int index1, int index2) {
        int temp = A[index1];
        A[index1] = A[index2];
        A[index2] = temp;

    }
}

4. 运行结果

请输入数组的大小: 4
请输入数组索引为 [0] 的元素的值: 1
请输入数组索引为 [1] 的元素的值: 2
请输入数组索引为 [2] 的元素的值: 3
请输入数组索引为 [3] 的元素的值: 4
输入交换源元素的索引=0
输入交换目标元素的索引=3
输出:[4, 2, 3, 1]

本文章参考或引用如下:

玩转Java--手把手教你编写300个精彩案例,作者:李永华、陈宏铭