前回の「複数の入力を 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> に格納 → 合計・平均・最大・最小を計算」という一連の流れが完成しました。

