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

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

        // テストケース01
        String[] names1 = {"りんご", "みかん", "バナナ"};
        int[] stocks1 = {10, 5, 3};
        printStockList(names1, stocks1);
        // 出力:
        // りんご: 10
        // みかん: 5
        // バナナ: 3

        // テストケース02
        String[] names2 = {"メロン", "ぶどう"};
        int[] stocks2 = {0, 8};
        printStockList(names2, stocks2);
        // 出力:
        // メロン: 0
        // ぶどう: 8
    }

    // 商品名と在庫数を対応表示するメソッド
    public static void printStockList(String[] names, int[] stocks) {
        // 同じインデックスを使って、名前と在庫をペアで出力
        for (int i = 0; i < names.length; i++) {
            // i番目の名前と在庫を ":" でつないで出力
            System.out.println(names[i] + ": " + stocks[i]);
        }
    }
}

解説

● メソッド引数を2つにしている理由

  • 商品名と在庫数は別の配列に格納されているため、それぞれ独立した引数として受け取る
  • 両者の要素数が同じであるという前提のもとで、インデックスを合わせて処理する

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

  • 名前の配列を基準にループ。stocks.length でも同じだが、必ず一方に揃える
  • i番目の名前と、i番目の在庫を取り出してセットで出力する

System.out.println(names[i] + ": " + stocks[i]);

  • + を使って文字列と数値を連結し、「名前: 数量」の形に整えて出力
  • フォーマット通りの出力がされているか、常に確認するクセをつけよう

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


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