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
9
1
2
›
⌄
public class Product {
}
0 B / 5 MB
残り 9 回実行可能
