Java | 配列の「長さ」を取得する

Java Java
スポンサーリンク

実践ミニアプリ:成績の合計・平均を出すプログラム

ここでは、「ユーザーから整数を入力して配列に保存し、合計と平均を計算する」
という、配列の length を実務風に活用するミニアプリを、初心者向けに ステップごとに詳しく解説 します。


アプリの目的

  • ユーザーが人数を入力(例:「3人分の点数を入力」)
  • 各人の点数を順に入力
  • 全員の 合計点平均点 を計算して表示

完成イメージ

人数を入力してください: 3
1人目の点数を入力してください: 80
2人目の点数を入力してください: 70
3人目の点数を入力してください: 90

合計点: 240
平均点: 80.0

コード全体(MainクラスのみでOK)

import java.util.Scanner;

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

        // 1. 入力人数を取得
        System.out.print("人数を入力してください: ");
        int n = scanner.nextInt();

        // 2. 配列を作成(人数分の箱を用意)
        int[] scores = new int[n];

        // 3. 点数を入力して配列に格納
        for (int i = 0; i < scores.length; i++) {
            System.out.print((i + 1) + "人目の点数を入力してください: ");
            scores[i] = scanner.nextInt();
        }

        // 4. 合計を計算
        int sum = 0;
        for (int i = 0; i < scores.length; i++) {
            sum += scores[i];
        }

        // 5. 平均を計算(整数同士の割り算に注意)
        double average = (double) sum / scores.length;

        // 6. 結果を出力
        System.out.println("\n合計点: " + sum);
        System.out.println("平均点: " + average);

        scanner.close();
    }
}
Java

ステップ解説

ステップ説明ポイント
人数を入力Scannerで整数を読み込む (nextInt())
配列を人数分作るnew int[n] で要素数が人数になる
for文で入力を繰り返すi < scores.length を使うのがポイント
合計を求めるsum += scores[i];
平均を求めるsum / scores.length、整数割り算に注意して (double) にキャスト
結果表示改行 \n で見やすく

ここが重要!

✅ scores.length の役割

  • 「配列の要素数」を取得する唯一の方法
  • 人数を後から変えても、自動的にループ回数が変わる
    ハードコーディングを避け、安全で再利用しやすいコード になる

例:

for (int i = 0; i < scores.length; i++) {
    // 人数が変わっても自動対応!
}
Java

改良版(クラス設計で実務風)

「Main+Service構造」で整理すると、より実務っぽくなります👇

import java.util.Scanner;

public class ScoreApp {
    public static void main(String[] args) {
        ScoreService service = new ScoreService();
        service.run();
    }
}

class ScoreService {
    public void run() {
        Scanner scanner = new Scanner(System.in);

        System.out.print("人数を入力してください: ");
        int n = scanner.nextInt();

        int[] scores = new int[n];

        for (int i = 0; i < scores.length; i++) {
            System.out.print((i + 1) + "人目の点数: ");
            scores[i] = scanner.nextInt();
        }

        int sum = calcSum(scores);
        double avg = calcAverage(scores);

        System.out.println("\n合計点: " + sum);
        System.out.println("平均点: " + avg);

        scanner.close();
    }

    // 合計を計算するメソッド
    private int calcSum(int[] arr) {
        int sum = 0;
        for (int value : arr) {
            sum += value;
        }
        return sum;
    }

    // 平均を計算するメソッド
    private double calcAverage(int[] arr) {
        if (arr.length == 0) return 0;
        return (double) calcSum(arr) / arr.length;
    }
}
Java

📘ポイント:

  • length を複数メソッドで活用。
  • 平均計算では「配列が空(length==0)」のときに 0 を返して安全設計。
  • 実務コードではこういう「防御的プログラミング」が大事です。

応用ミニ課題

1️⃣ 最高点・最低点を求める機能 を追加してみましょう。
 → for文で配列を走査し、maxmin を更新。

2️⃣ 平均点以上の人だけを表示 するプログラムにしてみましょう。
 → 条件 if (scores[i] >= average) を活用。


まとめ

覚えておきたいこと説明
配列.length配列の長さ(要素数)を取得できる
length は変更不可代入して長さを変えることはできない
for (i < array.length)配列の範囲を安全に処理する定番パターン
実務では入力・計算・出力をメソッドやクラスに分けて整理する
Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました