输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组:
package com.ftl;
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
// 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
System.out.println("请输入一组数,数与数之间用空格隔开:");
Scanner scanner = new Scanner(System.in);
String[] split = scanner.nextLine().split(" ");
//将得到的字符串转化为数组
int[] arr=new int[split.length];
int m=0;
for (String string : split) {
arr[m]=Integer.parseInt(string);
m++;
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
System.out.println();
Demo4 demo=new Demo4();
int[] sort = demo.sort(arr);
for (int i = 0; i < sort.length; i++) {
System.out.print(arr[i]+"\t");
}
scanner.close();
}
// 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
public int[] sort(int[] arr) {
//首先要找出最大的元素和最小的元素
int min = arr[0];
int min_index = 0;
int max = arr[0];
int max_index = 0;
for (int i = 0; i < arr.length; i++) {
//如果最小值大于当前数,将当前数赋值给最小值,并记录下当前值的下标
if (min>arr[i]) {
min=arr[i];
min_index=i;
}
//如果最大值小于当前数,将当前数赋值给最大值,并记录下当前值的下标
if (max<arr[i]) {
max=arr[i];
max_index=i;
}
}
//最大的与第一个元素交换
arr[max_index]=arr[0];
arr[0]=max;
//最小的与最后一个元素交换
arr[min_index]=arr[arr.length-1];
arr[arr.length-1]=min;
return arr;
}
}
控制台输出: