题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
分析: 例如输入6 4 8 3 9 7
交换后输出9 4 8 7 6 3
import java.util.Arrays;
import java.util.Scanner;
public class Prog35 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请输入要输入的数组的长度:");
int n=scan.nextInt();
int [] a=new int[n];
System.out.println("请依次输入组数的各个元素,输入一个非数字字符结束输入:");
int m=0;
while(scan.hasNextInt()) {//当用户不再进行输入时结束循环
a[m++]=scan.nextInt();//后自增和while循环保证自少执行一次循环语句且m==0时能被执行
}
scan.close();
//输出用户输入的数组
System.out.println("用户输入的数组为:");
for(int i=0;i<n;i++) {
System.out.print(a[i]+" ");
}
System.out.println();//换行
//新建一个数组接收原来的数组并进行排序
int [] b=new int[n];
for(int t=0;t<n;t++) {
b[t]=a[t];
}
Arrays.sort(b);
int min=b[0];
int max=b[n-1];
for(int r=0;r<n;r++) {
if(a[r]==max) {
a[r]=a[0];
a[0]=max;
}
if(a[r]==min) {
a[r]=a[n-1];
a[n-1]=min;
}
}
//输出交换大小之后的数组
System.out.println("交换大小之后的数组为:");
for(int k=0;k<n;k++) {
System.out.print(a[k]+" ");
}
}
}
/*运行结果
请输入要输入的数组的长度:
6
请依次输入组数的各个元素,输入一个非数字字符结束输入:
6
4
8
3
9
7
.
用户输入的数组为:
6 4 8 3 9 7
交换大小之后的数组为:
9 4 8 7 6 3
*/