Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: Sắp xếp danh sách sinh viên theo nhiều tiêu chí với Comparator

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 7: Lập trình tổng quát và khung Collections — khóa Lập trình Java

    Cho danh sách sinh viên, mỗi sinh viên có mã, tên, điểm trung bình và năm sinh.

    Hãy sắp xếp danh sách theo thứ tự sau:

    1. Điểm trung bình giảm dần.
    2. Nếu điểm bằng nhau → năm sinh tăng dần (sinh viên trẻ hơn xếp sau).
    3. Nếu vẫn bằng nhau → mã sinh viên tăng dần theo alphabet.

    In ra danh sách sau khi sắp xếp.

    • Sử dụng Comparator.comparing(...).thenComparing(...) hoặc Collections.sort với Comparator tuỳ chỉnh.
    • Không sử dụng phương pháp sort khác (bubble, selection, ...).
    • Định dạng đầu vào:
      • Dòng 1: N (1 ≤ N ≤ 1000)
      • N dòng tiếp: <ma> <ten> <diem> <namSinh>
    • Ràng buộc đầu vào:
      • diem ∈ [0, 10]
      • namSinh ∈ [1990, 2020]
      • Mã và tên không có khoảng trắng
    • Định dạng đầu ra:
      • N dòng đã sắp: <ma> <ten> <diem> <namSinh> với điểm in 2 chữ số thập phân.

    Ví dụ:

    Đầu vào:

    4
    SV01 An 8.5 2003
    SV02 Binh 9.0 2004
    SV03 Cuong 8.5 2002
    SV04 Dung 8.5 2002
    

    Đầu ra:

    SV02 Binh 9.00 2004
    SV03 Cuong 8.50 2002
    SV04 Dung 8.50 2002
    SV01 An 8.50 2003
    

    Giải thích:

    SV02 cao nhất 9.0. SV01/03/04 đều 8.5 → so năm sinh tăng: SV03 (2002), SV04 (2002), SV01 (2003). SV03 vs SV04 cùng 2002 → so mã: SV03 < SV04.

    Đầu vào:

    1
    A Solo 7.25 2000
    

    Đầu ra:

    A Solo 7.25 2000
    

    Giải thích:

    Một sinh viên duy nhất → in nguyên.

    Đầu vào:

    3
    A x 5 2000
    B y 5 2000
    C z 5 2000
    

    Đầu ra:

    A x 5.00 2000
    B y 5.00 2000
    C z 5.00 2000
    

    Đầu vào:

    3
    A x 10 2010
    B y 9.99 2000
    C z 0 1995
    

    Đầu ra:

    A x 10.00 2010
    B y 9.99 2000
    C z 0.00 1995
    

    Chủ đề

    ☕ JavaJavaCollections FrameworkTất cả môn học

    Đang tải editor...