身份证排序

安全局搜索到了一批(n个)身份证号码,希望按出生日期对它们进行从大到小排序,如果有相同日期,则按身份证号码大小进行排序。身份证号码为18位的数字组成,出生日期为第7到第14位

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;


public class Main {

//    /**
//     * @param args
//     */
//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        int n = sc.nextInt();
//        String []s = new String[n];
//        for (int i = 0; i < s.length; i++) {
//            s[i]=sc.next();
//        }
//        int []x=new int[n];
//        for (int i = 0; i < x.length; i++) {
//            String str = s[i].substring(6,14);
//            x[i]=Integer.valueOf(str).intValue();
//            
//        }
//        int num = 0;
//        String sr="";
//        for (int i = 0; i < x.length-1; i++) {
//            for (int j = 0; j < x.length-i-1; j++) {
//                if (x[j]>x[j+1]) {
//                    num = x[j];
//                    x[j]=x[j+1];
//                    x[j+1]=num;
//                    sr=s[j];
//                    s[j]=s[j+1];
//                    s[j+1]=sr;
//                }
//            }
//        }
//        for (int i = s.length-1; i >=0; i--) {
//            System.out.println(s[i]);
//        }
//        
//    }
    static Comparator<String> com=new Comparator<String>()
    {
         public int compare(String o1,String o2){
          String s1=o1.substring(6, 14);  
                String s2=o2.substring(6, 14);  
                if(!s1.equals(s2)){
                 return s2.compareTo(s1);
                }
                else return o2.compareTo(o1);
         }
    };
         public static void main(String[] args) {
         Scanner in=new Scanner(System.in);
         int n=in.nextInt();
         ArrayList<String> str=new ArrayList<String>();
         for(int i=0;i<n;i++){
          String s=in.next();
          str.add(s);
         }
         Collections.sort(str,com);
         for (int i = 0; i <str.size(); i++) {  
                System.out.println(str.get(i));  
             }  
          }

}

猜你喜欢

转载自www.cnblogs.com/shiaguang/p/12343047.html
今日推荐