java数组交换位置_Java数组元素位置交换?

展开全部

题目很简单,关键是思路先找出最大值、最小值,并记住其位置

再做交换

具体参考下列代码62616964757a686964616fe4b893e5b19e31333361306330import java.util.Arrays;

public class Test {

/**

* @param args

*/

public static void main(String[] args) {

// 第一步:定义数组

int[] arrs = { 6, 2, 9, 15, 1, 5, 20, 7, 18 };

// 第二步:找出最大值、最小值

int maxIndex = 0; // 最大值初始索引 = 0

int max = arrs[maxIndex];

int minIndex = 0; // 最小值初始索引 = 0

int min = arrs[minIndex];

for (int i = 1; i 

if (arrs[i] > max) {

max = arrs[i];

maxIndex = i;

}

if (arrs[i] 

min = arrs[i];

minIndex = i;

}

}

System.out.printf("第[%d]个值是最大值:%d \n", (maxIndex + 1), max);

System.out.printf("第[%d]个值是最小值:%d \n", (minIndex + 1), min);

System.out.println("开始交换最大值");

int end = arrs[arrs.length - 1]; // 记录最后一个元素值

arrs[arrs.length - 1] = max; // 最后一个元素值 = max

arrs[maxIndex] = end; // 原最大值 = 最后一个值

int start = arrs[0]; // 记录第一个元素值

arrs[0] = min; // 第一个元素值 = min

arrs[minIndex] = start; // 原最小值 = 第一个值

System.out.println("最终结果:");

System.out.println(Arrays.toString(arrs));

}

}

亲,答题也需要时间和精力,如果回答满意,请及时采纳,你的合作是我回答的动力!! 谢谢!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值