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

ProductUtil.java まとめ

import java.util.ArrayList;

public class ProductUtil {

    public static void printStockList(ArrayList<Product> products) {
        for (Product p : products) {
            System.out.println(p.getName() + " (在庫: " + p.getStock() + ")");
        }
    }

    public static void searchByName(ArrayList<Product> products, String keyword) {
        boolean found = false;
        for (Product p : products) {
            if (p.getName().equals(keyword)) {
                System.out.println(p.getName() + "の在庫数: " + p.getStock());
                found = true;
                break;
            }
        }
        if (!found) {
            System.out.println("該当商品なし");
        }
    }

    public static void printLowStockProducts(ArrayList<Product> products, int threshold) {
        for (Product p : products) {
            if (p.getStock() < threshold) {
                System.out.println(p.getName() + " (在庫: " + p.getStock() + ")");
            }
        }
    }

    public static void updateStockByName(ArrayList<Product> products, String keyword, int newStock) {
        boolean found = false;
        for (Product p : products) {
            if (p.getName().equals(keyword)) {
                p.setStock(newStock);
                System.out.println(p.getName() + "の在庫数を" + newStock + "に更新しました");
                found = true;
                break;
            }
        }
        if (!found) {
            System.out.println("該当商品なし");
        }
    }
}

解説

ここでは、Step01〜09で学んだ内容を組み合わせて1つの完成されたミニアプリに仕上げることを目的としています。
各処理を単体で書けるようになるだけでなく、必要に応じて呼び出して動かせる設計に慣れることが大切です。

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


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

// tesh:
// ちゃんと動いたけど「なんで?」って思ってる人向けの解説、あるよ。