Arrays.sort()功能
(系统自带功能,作用是可以根据ascii码表将arr里的字符进行自动升序排列,简而言之就是从小到大排列)
例:数字的单独升序(输入:3 1 2 6 4;输出:1 2 3 4 6)
import java.util.Arrays;
import java.util.Scanner;
public class test {
public static void main(String args[]){
Scanner in = new Scanner(System.in);
int[] array = new int[5];
for(int i =0;i<5;i++){
System.out.println("第"+(i+1)+"个数字");
array[i]=in.nextInt();
}
Arrays.sort(array);//数组的排序之从小到大
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}
}
例2:数字与字母的混合降序(输入:a 1 d 5 3;输出:d a 5 3 1;因为英文小写字母a在ascii码表中对应97,b对应98,以此类推d对应100是最大的所以排在第一位)
import java.util.Arrays;
import java.util.Scanner;
public class test2 {
public static void main (String args[]){
Scanner in= new Scanner(System.in);
String[] arr = new String[5];
for(int i=0;i<5;i++){
arr[i]=in.next();
}
Arrays.sort(arr);
for(int i=arr.length-1;i>=0;i--){
System.out.println(arr[i]);
}
}
}
1)对比两个例子会发现,为了实现字母与数字的混合排序,将int型的数组换成了String(而且例1中的in.nextInt()在例二中去掉了Int),因为int只能是数字。
2)因为Arrays.sort()功能是变为升序,所以想要显示出降序的话print的时候从最数组最后一位开始就可以了,例2后面的for循环是从最后一位开始的。