Java | Comparator を使った実務例(ファイル名・日付でソートなど)

Java Java
スポンサーリンク

ここでは ユーザー入力した数値をランキング形式で表示する Java プロジェクト を示します。
ランキング形式とは「順位付きで並べる」ことです。例えば点数を入力したら「1位: 90点」「2位: 85点」…のように表示します。


プロジェクト概要

  • ファイル名: RankingNumbers.java
  • 機能:
    1. ユーザーから件数と整数を入力
    2. 降順(大きい順)にソート
    3. 順位付きで表示

完全なコード

import java.util.*;

public class RankingNumbers {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("=== ランキング表示プログラム ===");
        System.out.print("いくつの数値を入力しますか?: ");
        int n = scanner.nextInt();

        ArrayList<Integer> numbers = new ArrayList<>();
        System.out.println(n + " 個の整数を入力してください:");

        for (int i = 0; i < n; i++) {
            numbers.add(scanner.nextInt());
        }

        // 降順ソート
        Collections.sort(numbers, Comparator.reverseOrder());

        // ランキング表示
        System.out.println("\n--- ランキング ---");
        for (int i = 0; i < numbers.size(); i++) {
            System.out.println((i + 1) + "位: " + numbers.get(i));
        }

        scanner.close();
    }
}
Java

実行例

入力

いくつの数値を入力しますか?: 5
5 個の整数を入力してください:
55 80 72 90 68

出力

--- ランキング ---
1位: 90
2位: 80
3位: 72
4位: 68
5位: 55

応用ポイント

  • 同点処理: 同じ数値があった場合、順位を工夫する(例: 90, 90 → 両方1位)。
  • 名前付きランキング: 「名前: 点数」を入力して、点数でランキングする(実務でよくある成績表)。
  • 上位だけ表示: 例えば「トップ3」だけを表示する。

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました