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

输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组

public class Questions35 {

	public static void main(String[] args) {
		/**
		 * 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
		 * 
		 * 实现思路:
		 * 1.找一个最大值,最小值
		 * 2.交换
		 */
		
        int []nums=new int[5];
		Scanner input = new Scanner(System.in);
		int len = nums.length;
		System.out.println("请输入一组数字:");
		for(int i=0;i<len;i++) {
	        System.out.println("请输入第 "+(i+1)+"个数字:");
			nums[i]=input.nextInt();
		}
		int max = nums[0]; 
		int min = nums[0];
       
		int maxIndex=0; //最大值的位置
		int minIndex=0; //最小值的位置
		//原数组输出
		System.out.println("原数组如下:");
		for (int i = 0; i < len ; i++) {
			System.out.print(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;
		
		System.out.println("\n最大的与第一个元素交换,最小的与最后一个元素交换,输出数组:");
		for (int i = 0; i < len ; i++) {
			System.out.print(nums[i]+" ");
		}
	}

}
发布了35 篇原创文章 · 获赞 5 · 访问量 854

猜你喜欢

转载自blog.csdn.net/m0_43443133/article/details/105103357
今日推荐