/** * ドメイン非依存URL出力フィルタ * javadrill.tech移行時はwp_options.home/siteurlのみ変更すればよい * * データベースには絶対URL(https://minner.asia)を保持し、 * 表示時に現在のドメイン(home_url())に動的変換する */ function javadrill_make_urls_dynamic($content) { if (empty($content)) { return $content; } // データベース内の絶対URLを現在のhome_url()に置換 $old_url = 'https://minner.asia'; $new_url = untrailingslashit(home_url()); // http版も対応(念のため) $content = str_replace($old_url, $new_url, $content); $content = str_replace('http://minner.asia', $new_url, $content); return $content; } // 投稿本文、ウィジェット、タームの説明、抜粋に適用 add_filter('the_content', 'javadrill_make_urls_dynamic', 20); add_filter('widget_text', 'javadrill_make_urls_dynamic', 20); add_filter('term_description', 'javadrill_make_urls_dynamic', 20); add_filter('get_the_excerpt', 'javadrill_make_urls_dynamic', 20); 101 「配列修羅道」 StepFinal 問題 | Javaドリル

101 「配列修羅道」 StepFinal 問題

101-stepFinal 101 「配列修羅道」

商品在庫管理ミニアプリを完成させよ

あなたは、これまで作成してきた Product クラスおよびその周辺機能を活用し、小さな在庫管理アプリケーションを完成させる。
このアプリでは、商品の登録・一覧表示・検索・在庫数の更新・在庫の少ない商品の抽出を、すべてメソッドの呼び出しとしてテストコードから操作できる形で構成せよ。

要件

1. 商品一覧を表示する

みかんの在庫数: 5

2.商品名で検索する

みかんの在庫数: 5

3.在庫が少ない商品を表示する(しきい値指定)

バナナ (在庫: 3)

4.在庫数を更新する

りんごの在庫数を15に更新しました

5.該当商品が見つからない場合は "該当商品なし" を出力する

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));

        System.out.println("== 一覧表示 ==");
        ProductUtil.printStockList(products);
        // 出力:
        // りんご (在庫: 10)
        // みかん (在庫: 5)
        // バナナ (在庫: 3)

        System.out.println("\n== 商品検索 ==");
        ProductUtil.searchByName(products, "みかん");
        // 出力: みかんの在庫数: 5

        System.out.println("\n== 在庫が少ない商品を表示(5未満)==");
        ProductUtil.printLowStockProducts(products, 5);
        // 出力:
        // バナナ (在庫: 3)

        System.out.println("\n== 在庫数の更新 ==");
        ProductUtil.updateStockByName(products, "りんご", 15);
        // 出力: りんごの在庫数を15に更新しました

        System.out.println("\n== 存在しない商品の検索・更新 ==");
        ProductUtil.searchByName(products, "パイナップル");
        // 出力: 該当商品なし

        ProductUtil.updateStockByName(products, "パイナップル", 10);
        // 出力: 該当商品なし
    }
}

ヒント

  • これまでに作成した以下のメソッドを使うだけで構成可能:
    • printStockList(ArrayList<Product>)
    • searchByName(ArrayList<Product>, String)
    • printLowStockProducts(ArrayList<Product>, int)
    • updateStockByName(ArrayList<Product>, String, int)
  • クラス設計やリストの使い方はStep06〜09で習得済み
  • 「何を表示するか」「どう表示するか」を統一して見やすくすることが大事

→解答例

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

🎯 実習で理解を深めよう

この内容についてJavaDrillで実際に手を動かして学習できます

コメント

タイトルとURLをコピーしました