import java.util.Scanner; public class program35 { public static void main(String args[]){ /* 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 */ Scanner scanner = new Scanner(System.in); String input = scanner.nextLine();//输入字符串 String[] split = input.split(",");//用逗号来分割,split单个符号作为分隔符 int[] result = new int[split.length];//以逗号的长度开辟数组空间 for (int i = 0; i < split.length; i++) {//输入数组中的数 result[i] = Integer.valueOf(split[i]);//返回保存指定的String的值的Integer对象 } int max = Integer.MIN_VALUE;//在JDK中,整形类型是有范围的,最小值为Integer.MIN_VALUE -2147483648。 int maxI = 0; int minI = 0; int min = Integer.MAX_VALUE;//最大值为Integer.MAX_VALUE,即2147483647 for (int i = 0; i < split.length; i++) { if (result[i]>max) {//将result[i]和最小值为Integer.MIN_VALUE -2147483648比较,找出数组中的最大值 max = result[i];//将最大值赋值给max maxI = i;//记住最大值的数组下标 }if (result[i]<min) {//同理找出数组中的最小值 min = result[i];//最小值同理 minI = i;//最小值下标 } } int temp=0; //将最大值与第一个元素交换 temp = result[0]; result[0] = max; result[maxI] = temp; //将最小值与最后一个元素交换 temp = result[result.length-1]; result[result.length-1] = min; result[minI] = temp; for (int i : result){//输出 System.out.print(i+","); } } }
输入:3,8,4,7,5,9,1
输出:9,8,4,7,5,3,1,