014-008-002
Object継承:toString()オーバーライド
初級
問題説明
Object継承:toString()オーバーライド
この問題では: id・name・priceフィールドを持つProductクラスを作成し、toString()メソッドをオーバーライドして、Scannerで読み込んだ商品情報を指定フォーマットで出力するプログラムを作成します。
学習目標: Objectクラスのメソッドをオーバーライドして、オブジェクトの文字列表現をカスタマイズする
Scannerで商品データを読み込み、Productオブジェクトを生成してtoString()メソッドをオーバーライドして商品情報を分かりやすく表示するプログラムを作成します。
入力
1行目: 商品数 n
次にn商品分を繰り返し:
- id(文字列)
- name(文字列)
- price(整数)
出力
===== Product Information =====
Product{id='...', name='...', price=...}
...
==============================
具体例
例1: 2商品の表示
入力:
2
P001
Laptop
89800
P002
Mouse
2980
出力:
===== Product Information =====
Product{id='P001', name='Laptop', price=89800}
Product{id='P002', name='Mouse', price=2980}
==============================
例2: 1商品の表示
入力:
1
X001
Tablet
59800
出力:
===== Product Information =====
Product{id='X001', name='Tablet', price=59800}
==============================
toString()の自動呼び出し
- System.out.println(product)で自動的にtoString()が呼ばれる
- 文字列連結 "Info: " + product でも呼ばれる
- String.valueOf(product)でも呼ばれる
テストケース例
※ 出力例はプログラミングの国際標準に準拠し英語で表示しています
正常系
入力:
2 E001 Smartphone 78000 E002 Camera 45000
期待される出力:
===== Product Information =====
Product{id='E001', name='Smartphone', price=78000}
Product{id='E002', name='Camera', price=45000}
==============================正常系
入力:
2 A100 Keyboard 5980 B200 Monitor 32000
期待される出力:
===== Product Information =====
Product{id='A100', name='Keyboard', price=5980}
Product{id='B200', name='Monitor', price=32000}
==============================あなたの解答
現在のモード:● 自分のコード
Product.java🔒
Solution.java🔒
2/6 ファイル289B
9
1
2
›
⌄
public class Product {
}
0 B / 5 MB
残り 10 回実行可能
