演習

キューのデータ構造をオブジェクト指向プログラムにて実装せよ.

キュークラス

フィールドとして,以下を定義する.
それぞれ,クラス内のメソッドからのみアクセスを許可する.
  • 現在のデータ個数を記憶しておく整数
  • データを格納する配列
  • キューを生成した個数をカウントする静的変数
コンストラクタは以下の2種類を用意する
生成した時に,何個のキューをインスタンス化したのか分かるようにする.
  • 標準サイズ5個の配列を確保する
  • インスタンス化時に格納できるデータ数を引数で指定する
データの入出力のための2種類のメソッドを定義する.
取り扱うデータは自然数とする.
  • enqueueメソッドでは,入力データを引数に持つ.
  • dequeueメソッドでは,出力データを戻り値に取る.

キュー の状態を表示する3種類のprintQueueメソッドを定義する
  • 引数を取らず,全配列を表示する.
  • 引数として配列の番号をとり,その番号のデータを表示する.
  • 整数の引数を2つとり,第1引数から第2引数までの配列を表示する.
ただし,引数を1件とるメソッドについては,クラス内のみから呼び出すことができるように設定し,他のprintQueueメソッドは,そのメソッドを使って表示するようにする.
キューを生成した個数を表示するメソッドを定義する

メインクラス

  • キュークラスの,標準サイズと,長さ10のキューをインスタンス化する.
  • それぞれ,データの出し入れができることを確認する.
  • 範囲外のデータが入った時,満杯な時に挿入しようとしたとき,空の時に取り出そうとしたとき,適切な挙動になるようにする.
  • データの出し入れをしたとき,その都度,どのようにデータが格納されているか,確認できるようにする.
  • 外部のクラスからフィールドの値を直接変更できないことを確認する.
  • クラス内からのみ呼び出されるメソッドを,外部から呼び出すことが出いないことを確認する.

提出

締切日時:10月11日(月)17:00
提出先:Blackboard
提出物:作成したクラスのソースコードと,その実行結果を示したPDFファイル
     (例:875_藤田悠.pdf)