101 「配列修羅道」 Step08 問題

在庫が少ない商品だけを出力せよ

あなたは、Product のリストの中から、在庫数が指定されたしきい値より少ない商品だけを抽出して表示するメソッドを作成せよ。
出力は1行につき1商品とし、以下の要件にあるような形式で表示すること。

要件

  • メソッド名:printLowStockProductsProductUtil に定義)
  • 引数:ArrayList<Product> products, int threshold
  • 処理:
    • 在庫数が threshold 未満の商品のみ出力する
  • 出力形式:
バナナ (在庫: 3)

Main.java(テストコード)

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<Product> products = new ArrayList<>();
        products.add(new Product("りんご", 10));
        products.add(new Product("みかん", 5));
        products.add(new Product("バナナ", 3));

        // テストケース01: 閾値5未満
        ProductUtil.printLowStockProducts(products, 5);
        // 出力:
        // バナナ (在庫: 3)

        // テストケース02: 閾値11未満
        ProductUtil.printLowStockProducts(products, 11);
        // 出力:
        // りんご (在庫: 10)
        // みかん (在庫: 5)
        // バナナ (在庫: 3)

        // テストケース03: 閾値3未満
        ProductUtil.printLowStockProducts(products, 3);
        // 出力なし
    }
}

ヒント

  • 在庫数は p.getStock() で取り出せる
  • 比較は < threshold を使う(等しい場合は含まない)
  • 出力は1商品ごとに1行、フォーマットに注意

解答例

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