演習

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

キュークラス

フィールドとして,以下を定義する.
それぞれ,クラス内のメソッドからのみアクセスを許可する.
  • 現在のデータ個数を記憶しておく整数
  • データを格納する配列
  • キューを生成した個数をカウントする静的変数
コンストラクタは以下の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