交换数组中的两个元素(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个精彩案例,作者:李永华、陈宏铭