演習
キューのデータ構造をオブジェクト指向プログラムにて実装せよ.
キュークラス
フィールドとして,以下を定義する.
それぞれ,クラス内のメソッドからのみアクセスを許可する.
- 現在のデータ個数を記憶しておく整数
- データを格納する配列
- キューを生成した個数をカウントする静的変数
コンストラクタは以下の2種類を用意する
生成した時に,何個のキューをインスタンス化したのか分かるようにする.ただし,出来るだけ重複しないように,片方のコンストラクタは,他のコンストラクタを使って実行するようにすること.
- 標準サイズ5個の配列を確保する
- インスタンス化時に格納できるデータ数を引数で指定する
データの入出力のための2種類のメソッドを定義する.
取り扱うデータは自然数とする.
- enqueueメソッドでは,入力データを引数に持つ.
- dequeueメソッドでは,出力データを戻り値に取る.
キューの状態を表示する3種類のprintQueueメソッドを定義する.ただし,引数を1件とるメソッドについては,クラス内のみから呼び出すことができるように設定し,他のprintQueueメソッドは,そのメソッドを使って表示するようにする.
- 引数を取らず,全配列を表示する.
- 引数として配列の番号をとり,その番号のデータを表示する.
- 整数の引数を2つとり,第1引数から第2引数までの配列を表示する.
キューのインスタンスの個数を表示するメソッドを定義する
メインクラス
- キュークラスの,標準サイズと,長さ10のキューをインスタンス化する.
- それぞれ,データの出し入れができることを確認する.
- 範囲外のデータが入った時,満杯な時に挿入しようとしたとき,空の時に取り出そうとしたとき,適切な挙動になるようにする.
- データの出し入れをしたとき,その都度,どのようにデータが格納されているか,確認できるようにする.
- 外部のクラスからフィールドの値を直接変更できないことを確認する.
- クラス内からのみ呼び出されるメソッドを,外部から呼び出すことができないことを確認する.
提出
締切日時:10月25日(水)23:59
提出先:Blackboard
提出物:(1)作成したクラスのソースコードのリストと(2)実行結果の表示,これら(1)(2)を1件にまとめた内容を含むPDFファイル
提出ファイルには,組番号と氏名を記載すること.
ファイル名は,組番号と氏名からなる.例:875_藤田悠.pdf