Java | 複数の入力をまとめて List に格納するサンプル

Java Java
スポンサーリンク

前回の「複数の入力を List<Integer> に格納する」サンプルを発展させて、合計・平均・最大値・最小値を計算するプログラムを作ってみます。

サンプルコード:リストから統計値を計算

import java.util.*;

public class ListStatsSample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<Integer> numbers = new ArrayList<>();

        System.out.println("整数をスペース区切りで入力してください(例: 10 20 30):");
        String line = sc.nextLine();

        // 入力を分割してリストに追加
        String[] parts = line.split("\\s+");
        for (String p : parts) {
            try {
                int n = Integer.parseInt(p);
                numbers.add(n);
            } catch (NumberFormatException e) {
                System.out.println("数値に変換できません: " + p);
            }
        }

        if (numbers.isEmpty()) {
            System.out.println("有効な数値が入力されませんでした。");
            return;
        }

        // 合計
        int sum = 0;
        for (int n : numbers) {
            sum += n;
        }

        // 平均
        double avg = (double) sum / numbers.size();

        // 最大値・最小値
        int max = Collections.max(numbers);
        int min = Collections.min(numbers);

        // 結果表示
        System.out.println("入力された整数リスト: " + numbers);
        System.out.println("合計: " + sum);
        System.out.println("平均: " + avg);
        System.out.println("最大値: " + max);
        System.out.println("最小値: " + min);
    }
}
Java

✅ 実行例

整数をスペース区切りで入力してください(例: 10 20 30):
10 20 30 40
入力された整数リスト: [10, 20, 30, 40]
合計: 100
平均: 25.0
最大値: 40
最小値: 10

ポイント

  • Collections.max / min を使うと最大値・最小値が簡単に求められる
  • 平均sum / size で計算(整数同士の割り算に注意 → doubleにキャスト)
  • 入力が空や不正な場合に備えてチェックを入れるのが実践的

👉 これで「入力 → List<Integer> に格納 → 合計・平均・最大・最小を計算」という一連の流れが完成しました。

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