101 「配列修羅道」 Step01 解答例

public class Step01_Tests {
    public static void main(String[] args) {

        // テストケース01
        int[] stocks1 = {10, 5, 3, 0, 8};
        printStockSum(stocks1);
        // 出力: "合計在庫数: 26"

        // テストケース02
        int[] stocks2 = {0, 0, 0};
        printStockSum(stocks2);
        // 出力: "合計在庫数: 0"

        // テストケース03
        int[] stocks3 = {100};
        printStockSum(stocks3);
        // 出力: "合計在庫数: 100"
    }

    // 在庫の合計を求めて出力するメソッド
    public static void printStockSum(int[] stocks) {
        // 合計値を格納する変数
        int sum = 0;

        // 配列のすべての要素をループして加算
        for (int i = 0; i < stocks.length; i++) {
            sum += stocks[i];  // i番目の要素をsumに足す
        }

        // フォーマットに従って出力
        System.out.println("合計在庫数: " + sum);
    }
}

解説

配列のすべての在庫数を合計し、出力するメソッドを作る


目的の整理

このステップのゴールは、「商品ごとの在庫数を配列で受け取り、その合計を出力するメソッドを自分で書くこと」です。
Javaの基本である配列のループ処理合計値の計算を、自分の手でしっかり組み立てられるようになるのが目的です。


プログラムの構成(ざっくり流れ)

  1. 在庫数が格納された int[] stocks を引数として受け取る
  2. for 文で配列の中身を1つずつ取り出す
  3. 合計値を計算していく
  4. 結果を指定されたフォーマットで出力する

ポイント

1.printStockSum(int[] stocks) の形にする理由

  • メソッドの引数に配列を渡すことで、複数の在庫パターン(テストケース)に対応しやすくなる
  • 同じ処理を何度も使い回す構造(=再利用性のあるコード)に近づく。
  • 引数に配列を取る場合の書き方に慣れよう!

2. int sum = 0;

  • 合計を入れる変数。初期値が 0 であるのは当然。
  • ループの外で宣言するのがポイント(毎回初期化されないように)。

3. for (int i = 0; i < stocks.length; i++)

  • 典型的な「配列を最初から最後までなめる」ループ。
  • 配列の長さが stocks.length。インデックスは 0 から始まる。

4. sum += stocks[i];

  • その時点での在庫数を合計に加える処理。
  • sum = sum + stocks[i]; を省略した形。

5. System.out.println("合計在庫数: " + sum);

  • 出力形式は問題文の指定に完全に従うこと。
  • 文字列と数値の連結は + を使えばOK。

101 ステップアップ問題 「配列修羅道」


👉 Just Keep Typing, Baby!では、この「配列修羅道」でつまづいた人向けの解説をしています。こちらもぜひ!