Java 一维数组 求最大值,最小值 元素交换位置

时间:2025-03-10 09:03:39
  • public class Questions35 {
  • public static void main(String[] args) {
  • /**
  • * 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
  • *
  • * 实现思路:
  • * 1.找一个最大值,最小值
  • * 2.交换
  • */
  • int []nums=new int[5];
  • Scanner input = new Scanner();
  • int len = ;
  • ("请输入一组数字:");
  • for(int i=0;i<len;i++) {
  • ("请输入第 "+(i+1)+"个数字:");
  • nums[i]=();
  • }
  • int max = nums[0];
  • int min = nums[0];
  • int maxIndex=0; //最大值的位置
  • int minIndex=0; //最小值的位置
  • //原数组输出
  • ("原数组如下:");
  • for (int i = 0; i < len ; i++) {
  • (nums[i]+" ");
  • }
  • for (int i = 1; i < len ; i++) {
  • if(max<nums[i]) {
  • max = nums[i];
  • maxIndex =i;//记住位置
  • }
  • if(min>nums[i]) {
  • min = nums[i];
  • minIndex=i;//记住位置
  • }
  • }
  • //2.交换最大值
  • int temp;
  • temp = nums[0];
  • nums[0] = max;
  • nums[maxIndex] = temp;
  • //2.交换最小值
  • temp =nums[len -1];
  • nums[len -1] = min;
  • nums[minIndex] = temp;
  • ("\n最大的与第一个元素交换,最小的与最后一个元素交换,输出数组:");
  • for (int i = 0; i < len ; i++) {
  • (nums[i]+" ");
  • }
  • }
  • }