数字与字母混合升降序

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循环是从最后一位开始的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值