• 検索結果がありません。

~ 51: 商品の価格表

ドキュメント内 プログラミング入門1 (ページ 57-73)

57

■例題 40

問題:次のクラス ProductData を作成せよ。このクラスのインス タンスは商品の情報を保持する。

変数の型と名前 初期値 説明

String name 無し 商品の名前

int price 無し 商品の単価

インスタンス変数

インスタンスメソッド

コンストラクタ

(

引数

)

機能

ProductData

(String name, int price)

ProductDataクラスのインスタンスを生成し、引数 のname,priceを各インスタンス変数に代入する。

コンストラクタ

返り値の型 メソッド名

(

引数

)

機能

void showProductData(in t row)

ProductDataインスタンスの文字列表現を Spreadsheet row行に表示する。

void header() Spreadsheet のヘッダ行を表示する。

59

例題 40

■例題 41(1)

問題 : ProductData のインスタンスを配列に格納する ようにせよ。さらに以下のメソッドを

Ex41ProductList の中に作成し、動作を確認せよ。

返り値の型 メソッド名

(

引数

)

機能

void

contents(ProductData [ ] list)

listの各ProductDataインスタンス の文字列表現を表示する。

61

例題 41(1)

表(配列)を走査し、要素の内容の 文字列表現を

result

に加えていく

■例題 41(2)

問題 : 次のメソッド get を作成し、動作を確認せよ。

返り値の型 メソッド名

(

引数

)

機能

ProductData

get(ProductData [ ] list, String name)

list中に格納されているProductData ンスタンスのうち,引数のnameと同じ名 前nameを持つものを返す。該当する 名前が見つからない場合は、nullを返 す。

既存メソッド

(Ex41ProductList

)

String contents(ProductData [ ] list)

63

例題 41(2)

例題 41(2) 実行の流れ

(前頁のものを拡大)

p

65

■例題 41(3)

問題 : ユーザーに商品名を入力させ、その商品情報を表示せよ

。ただし、該当する名前がリスト内に見つからない場合には、

メッセージを出すようにせよ。

返り値の型 メソッド名

(

引数

)

機能

ProductData

getFromUser(

ProductData[ ] list)

入力ダイアログで得た商品名に対応す るProductDataインスタンスをgetメソッ ドを利用して得る。

既存メソッド

(Ex41ProductList

)

String contents(ProductData [ ] list)

ProductData

get(ProductData [ ] list, String name)

※既存の Ex41ProductList を編集する

例題 41(3)

Ex41(2)

と同じ

67

■例題 41(4)

問題 : ユーザーに商品名を入力させ、その商品情報を表示せよ

。ここでは、連続で入力できるようにせよ。該当する商品名が リスト内に見つからない場合に、入力を終了するものとする。

既存メソッド

(Ex41ProductList

)

String contents(ProductData [ ] list)

ProductData

get(ProductData [ ] list, String name) ProductData getFromUser(ProductData[] list)

※既存の Ex41ProductList を編集する

終了

例題 41(4)

69

■例題 51(1)

問題: ProductData のインスタンスの値をユー ザが設定するための下記のメソッドを

ProductData 内に作成し、さらに、動作を確認 するための Ex51ProductList を作成せよ。

※既存の ProductData を編集する さらに Ex51ProductList を作成

返り値の型 メソッド名

(

引数

)

機能

void

setNameFromUser()

入力ダイアログで文字列を取得し、イ

ンスタンス変数nameに代入する

void

setPriceFromUser()

入力ダイアログで文字列を取得し、int

に変換して引数pのインスタンス変数 priceに代入する

例題 51(1) クラス ProductData

71

例題

51(1)

クラス

Ex51ProductList

■例題 51(2)

問題:例題 51(1) のプログラムを拡張して次のようにせよ。

(a) 商品リストの情報を表示させよ。

(b) ユーザに商品名を入力させ ProductData のインスタンスを 一つ取り出し、このデータを修正させよ。

(c) 商品リストを表示しなおせ

返り値の型 メソッド名

(

引数

)

機能

ProductData

getFromUser(

ProductData[ ] list)

入力ダイアログで得た商品名に対応す ProductDataインスタンスをgetメソッ ドを利用して得る。

既存メソッド

(Ex51ProductList

)

String contents(ProductData [ ] list)

ProductData

get(ProductData [ ] list, String name)

ドキュメント内 プログラミング入門1 (ページ 57-73)