生日排序(洛谷P1104题题解,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
生日排序(洛谷P1104题题解,Java语言描述)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目要求
P1104題目鏈接
分析
一個(gè)典型的排序題,我們將針對(duì) year、month、day、id 四個(gè)屬性進(jìn)行排序,并輸出對(duì)應(yīng)的 name 。
使用面向?qū)ο?#xff0c;封裝一個(gè)類(lèi),再使用sort做下處理就行啦。
AC代碼(Java語(yǔ)言描述)
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);}}}總結(jié)
以上是生活随笔為你收集整理的生日排序(洛谷P1104题题解,Java语言描述)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【JSP】web.xml配置JavaWe
- 下一篇: 【Java】探究自增运算符++的原理