014-008-002

Object継承:toString()オーバーライド

初級

問題説明

Object継承:toString()オーバーライド

この問題では: idnamepriceフィールドを持つ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
public class Product {
}
0 B / 5 MB

残り 10 回実行可能