/** * ドメイン非依存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); 102 「Map修羅道」 StepFinal 問題 | Javaドリル

102 「Map修羅道」 StepFinal 問題

102-stepFinal 102「Map修羅道」

「商品注文シミュレータを完成させよ」

あなたは、商品情報と注文情報をもとに、次のような処理を行う 商品注文シミュレータ を作成します。

以下の2つのMapがすでに存在しています:

  • Map<String, Integer> priceMap:商品名 → 単価(円)
  • Map<String, Integer> orderMap:商品名 → 注文数(個)

以下のデータを使って、各商品の合計金額を計算し、最終的な総売上金額を出力してください。


登録済み商品データ(priceMap)

"Apple"  → 120  
"Banana" → 80  
"Orange" → 100

注文情報(orderMap)

"Apple"  → 3  
"Banana" → 5  
"Grape"  → 2  ← この商品は登録されていない!

要件

  1. 存在しない商品(ここでは "Grape")が注文された場合は 「エラーとして表示」し、計算対象に含めないこと
  2. 正常な商品は「商品名、単価、個数、小計」を出力すること
  3. 最後に総売上金額を出力すること
  4. for文、Map、containsKey()を使用すること(Stream API は使わない)

テストコード(Main.java)

public class Main {
    public static void main(String[] args) {
        MapUtil.runOrderSimulator();
    }
}

ヒント

  • orderMap をループし、商品名で priceMap.containsKey() を確認する
  • 見つかれば「単価 × 注文数」で小計を計算
  • 見つからなければ System.out.println("エラー: ...") で表示
  • すべての小計を足し合わせて総売上を求める

→解答例

102 ステップアップ問題 「Map修羅道」

コメント

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