2010-12-13 3 views
2

私は新しいシネマ予約システムを設計しています。そこでは、それぞれにさまざまな席数の4つのスクリーンがあります。どのアレイを使用するのですか?

どのARRAYまたはどのデータ構造が画面に表示されているかに関係なく、座席の上または下に人々を追加および削除するのに最適であるかどうかを知る必要があります。

私は2次元配列構造が必要になると信じているが、任意のヘルプははるかに高く評価されます!...

+0

質問に答えたところ、2D配列を使用してください。 4つの画面については、それらのArrayListを持つことができます。 – Itsik

答えて

0

のArrayListを追加したり削除できる素敵な単純な配列タイプリストであるあなたに感謝。

必要に応じて配列の配列を作成できます。それは2次元アレイです。

+0

yehs私は2次元配列を探していました。 ArrayListを使用すると、画面内の任意の場所を追加したり削除したりすることができますか?ありがとうございます – Simagen

+0

あなたの画面の仕組みはわかりませんが、ArrayListを使用すると、開始、終了、または中から項目を挿入または削除できるようになります。通常のJava配列では、アイテムの置換だけが可能で、追加/削除はできません。 –

+0

もし私がNORMALのJava配列を使用していたら、再びノードの値をnullに戻して、もう一度それを利用できるようにしますか? 私はまだ画面を設計していませんが、質問する必要がある主なデータ構造は、私の画面を表現するためにどの配列を使うかです。 4つの画面が表示されます。 2人はそれぞれ100席、2席は64席を持っています。だから私はどこの座席を私の2次元の座席配列にも置くことを選ぶことができる必要があります。 – Simagen

0

同じデータ構造の4つのインスタンスが好きです。たぶん、座席のコレクションを含むScreenオブジェクトのコレクション。

2

あなたがすべきことは、データをメモリに格納する方法を抽象化するクラス構造を構築することです。

class Cinema { 

    List<Auditorium> screens; 

} 

class Auditorium { 
    int number; 
    List<SeatRow> rows; 

} 

class SeatRow { 
    int rowNumber 
    List<Seat> seats; 

} 

class Seat { 
    int seatNumber; 
    boolean occupied; 
} 

注:これは唯一の解決策ではありません。 をMapまたはその他のデータ構造体に格納する方法があります。

0

私は上記のクラス構造の平易で単純なSeat[][]配列を個人的に投票したいと思います。配列のサイズが初期化時に行われる可能性がある場合はおそらく変更されないので、別の配列を使用する理由はありません。次に、特定の位置のデータ、または予約されていない席の場合はnullのいずれかのデータで画面に表示したり、画面に表示したりしないでください。

あなたの必要に応じて(ゲストの予約場所を覚えておく必要がありますか?)、最低限、boolean[][]を使用することもできます。

4つの異なるシート2D配列を作成して名前を付けるだけです。好ましくは別のクラスに貼り付け、セッターとゲッターを持っていること。

関連する問題