zoukankan      html  css  js  c++  java
  • 题目4 EXCEL排序

     1 import java.util.Arrays;
     2 import java.util.Comparator;
     3 import java.util.Scanner;
     4  
     5 public class Main{
     6     private static class stu{
     7         String num;
     8         String name;
     9         int score;
    10         @Override
    11         public String toString() {
    12             return num+" "+name+" "+score;
    13         }
    14     }
    15     private static class C1 implements Comparator<stu>{
    16         @Override
    17         public int compare(stu o1, stu o2) {
    18             return o1.num.compareTo(o2.num);
    19         }
    20     }
    21     private static class C2 implements Comparator<stu>{
    22         @Override
    23         public int compare(stu o1, stu o2) {
    24             if(o1.name.compareTo(o2.name)!=0)
    25                 return o1.name.compareTo(o2.name);
    26             else
    27                 return o1.num.compareTo(o2.num);
    28         }
    29     }
    30     private static class C3 implements Comparator<stu>{
    31         @Override
    32         public int compare(stu o1, stu o2) {
    33             if(o1.score>o2.score) return 1;
    34             else if(o1.score<o2.score) return -1;
    35             else return o1.num.compareTo(o2.num);
    36         }
    37     }
    38      
    39     public static void main(String[]args){
    40         stu[] student=new stu[100000];
    41         for(int i=0;i<100000;i++)
    42             student[i]=new stu();
    43         Scanner in=new Scanner(System.in);
    44         int count=0;
    45         while(in.hasNext()){
    46             int N=in.nextInt();
    47             int C=in.nextInt();
    48             if(N==0) break;
    49             for(int i=0;i<N;i++){
    50                 student[i].num=in.next();
    51                 student[i].name=in.next();
    52                 student[i].score=in.nextInt();
    53             }
    54             switch (C) {
    55             case 1:
    56                 C1 c1=new C1();
    57                 Arrays.sort(student,0,N,c1);//0表示第一个下标,N表示最后一个下标+1
    58                 break;
    59             case 2:
    60                 C2 c2=new C2();
    61                 Arrays.sort(student,0,N,c2);
    62                 break;
    63             case 3:
    64                 C3 c3=new C3();
    65                 Arrays.sort(student,0,N,c3);
    66                 break;
    67             default:
    68                 break;
    69             }
    70             count++;
    71             System.out.println("Case "+count+":");
    72             for(int i=0;i<N;i++)
    73                 System.out.println(student[i]);
    74         }
    75     }
    76 }
    77 /**************************************************************
    78     Problem: 1023
    79     User: 0000H
    80     Language: Java
    81     Result: Time Limit Exceed
    82 ****************************************************************/
  • 相关阅读:
    1058 A+B in Hogwarts (20)
    1036. Boys vs Girls (25)
    1035 Password (20)
    1027 Colors in Mars (20)
    1009. Product of Polynomials (25)
    1006. Sign In and Sign Out
    1005 Spell It Right (20)
    1046 Shortest Distance (20)
    ViewPager页面滑动,滑动到最后一页,再往后滑动则执行一个事件
    IIS7.0上传文件限制的解决方法
  • 原文地址:https://www.cnblogs.com/qq1029579233/p/4794287.html
Copyright © 2011-2022 走看看