015-003-001

ダウンキャスト:商品クラス

初級

問題説明

ダウンキャスト:商品クラス

この問題では: Product型の変数に格納されたDiscountProductオブジェクトをinstanceofで型チェックしてからダウンキャストし、割引後の価格を計算して標準出力に表示するプログラムを作成します。

学習目標: 親クラスの参照を子クラスの型に明示的にキャストするダウンキャストを理解する

商品を表すProductクラスと、それを継承するDiscountProductクラスを作ります。Product型の変数に格納されたDiscountProductオブジェクトを、instanceofで型チェックしてから子クラス型にキャスト(ダウンキャスト)して、子クラス固有のメソッドを呼び出しましょう。

入力

1行目: 商品名(文字列)
2行目: 価格(整数)
3行目: 割引率(整数、パーセント)

出力

Product: [商品名]
Price: [価格]yen
Discount: [割引率]%
Final: [割引後価格]yen

具体例

例1: ラップトップ20%OFF

入力:

Laptop
100000
20

出力:

Product: Laptop
Price: 100000yen
Discount: 20%
Final: 80000yen

例2: マウス10%OFF

入力:

Mouse
3000
10

出力:

Product: Mouse
Price: 3000yen
Discount: 10%
Final: 2700yen

例3: 境界値(割引0%)

入力:

A
100
0

出力:

Product: A
Price: 100yen
Discount: 0%
Final: 100yen

テストケース例

※ 出力例はプログラミングの国際標準に準拠し英語で表示しています

正常系
入力:
Laptop
100000
20
期待される出力:
Product: Laptop
Price: 100000yen
Discount: 20%
Final: 80000yen
正常系
入力:
Mouse
3000
10
期待される出力:
Product: Mouse
Price: 3000yen
Discount: 10%
Final: 2700yen
正常系
入力:
A
100
0
期待される出力:
Product: A
Price: 100yen
Discount: 0%
Final: 100yen
正常系
入力:
Laptop
-1
-1
期待される出力:
Product: Laptop
Price: -1yen
Discount: -1%
Final: -1yen
❌ テストに失敗したケースがあります
❌ エラー発生

あなたの解答

現在のモード: 自分のコード
Product.java🔒
DiscountProduct.java🔒
Solution.java🔒
3/6 ファイル175B
public class Product {
}
0 B / 5 MB

残り 9 回実行可能