生日排序(洛谷P1104题题解,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
生日排序(洛谷P1104题题解,Java语言描述)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目要求
P1104題目鏈接
分析
一個典型的排序題,我們將針對 year、month、day、id 四個屬性進行排序,并輸出對應的 name 。
使用面向對象,封裝一個類,再使用sort做下處理就行啦。
AC代碼(Java語言描述)
import java.util.Arrays; import java.util.Scanner;public class Main {private static class OIer {String name;Integer year;Integer month;Integer day;Integer id;OIer(String name, int year, int month, int day, int id) {this.name = name;this.year = year;this.month = month;this.day = day;this.id = id;}}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num = Integer.parseInt(scanner.nextLine());OIer[] oIers = new OIer[num];for (int i = 0; i < num; i++) {String[] info = scanner.nextLine().split("\\s+");oIers[i] = new OIer(info[0], Integer.parseInt(info[1]), Integer.parseInt(info[2]),Integer.parseInt(info[3]), i);}scanner.close();Arrays.sort(oIers, (dalao1, dalao2) -> {int year = dalao1.year.compareTo(dalao2.year);if (year != 0) {return year;}int month = dalao1.month.compareTo(dalao2.month);if (month != 0) {return month;}int day = dalao1.day.compareTo(dalao2.day);if (day != 0) {return day;}return dalao2.id.compareTo(dalao1.id);});for (OIer dalao : oIers) {System.out.println(dalao.name);}}}總結
以上是生活随笔為你收集整理的生日排序(洛谷P1104题题解,Java语言描述)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【JSP】web.xml配置JavaWe
- 下一篇: 【Java】探究自增运算符++的原理