题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
分析: 例如输入6 4 8 3 9 7
交换后输出9 4 8 7 6 3
1 import java.util.Arrays; 2 import java.util.Scanner; 3 public class Prog35 { 4 public static void main(String[] args) { 5 Scanner scan=new Scanner(System.in); 6 System.out.println("请输入要输入的数组的长度:"); 7 int n=scan.nextInt(); 8 int [] a=new int[n]; 9 System.out.println("请依次输入组数的各个元素,输入一个非数字字符结束输入:"); 10 int m=0; 11 while(scan.hasNextInt()) {//当用户不再进行输入时结束循环 12 a[m++]=scan.nextInt();//后自增和while循环保证自少执行一次循环语句且m==0时能被执行 13 } 14 scan.close(); 15 //输出用户输入的数组 16 System.out.println("用户输入的数组为:"); 17 for(int i=0;i<n;i++) { 18 System.out.print(a[i]+" "); 19 } 20 System.out.println();//换行 21 //新建一个数组接收原来的数组并进行排序 22 int [] b=new int[n]; 23 for(int t=0;t<n;t++) { 24 b[t]=a[t]; 25 } 26 Arrays.sort(b); 27 int min=b[0]; 28 int max=b[n-1]; 29 for(int r=0;r<n;r++) { 30 if(a[r]==max) { 31 a[r]=a[0]; 32 a[0]=max; 33 } 34 if(a[r]==min) { 35 a[r]=a[n-1]; 36 a[n-1]=min; 37 } 38 } 39 //输出交换大小之后的数组 40 System.out.println("交换大小之后的数组为:"); 41 for(int k=0;k<n;k++) { 42 System.out.print(a[k]+" "); 43 } 44 } 45 } 46 /*运行结果 47 请输入要输入的数组的长度: 48 6 49 请依次输入组数的各个元素,输入一个非数字字符结束输入: 50 6 51 4 52 8 53 3 54 9 55 7 56 . 57 用户输入的数组为: 58 6 4 8 3 9 7 59 交换大小之后的数组为: 60 9 4 8 7 6 3 61 */