008-003-012

メソッド呼び出しチェーンで注文処理

上級

問題説明

メソッド呼び出しチェーンで注文処理

この問題では: OrderProcessor クラスに複数のメソッドを定義し、processOrder()validateOrder()calculateTotal()applyDiscount()generateReceipt() の順に呼び出すチェーン構造を実装します。各メソッドの中間結果を標準出力に表示するプログラムを作成します。

学習目標: メソッドが他のメソッドを呼び出す構造(間接呼び出し)を理解し、処理を分割して組み合わせる設計を習得する

概要

1つの処理を複数の小さなメソッドに分割し、順に呼び出すことで、コードの可読性と保守性が向上します。各メソッドが1つの責務を持つことが、良い設計の基本です。

仕様

OrderProcessor クラス

  • processOrder(String item, int quantity, int unitPrice) : 全体の処理を制御。他の4つのメソッドを順に呼び出す
  • validateOrder(String item, int quantity) : 注文内容を検証し Validating: [item] x [quantity] を出力。trueを返す
  • calculateTotal(int quantity, int unitPrice) : 合計を計算し Subtotal: [合計] を出力。合計を返す
  • applyDiscount(int total) : 10%割引を適用し Discount: -[割引額] を出力。割引後金額を返す
  • generateReceipt(String item, int finalTotal) : Receipt: [item] = [finalTotal] を出力

Main クラス

  • OrderProcessor を生成し、processOrder("Laptop", 2, 1000) を呼び出す

出力形式

Validating: Laptop x 2
Subtotal: 2000
Discount: -200
Receipt: Laptop = 1800

コードを実行してみませんか?

この問題のコードエディタと実行機能を使用するには、ログインしてください。

アカウントをお持ちでない方

新規登録