2010-12-13 21 views
2

Ich entwerfe ein neues Kinobuchsystem, wo es 4 Bildschirme geben wird, die verschiedene Sitzplätze haben.Welches Array wird verwendet?

Ich muss wissen, was ARRAY oder welche Datenstruktur am besten ist für das HINZUFÜGEN und ENTFERNEN von Personen auf oder von Sitzen ÜBERALL, die sie auf dem Bildschirm wollen.

Ich glaube, dass ich eine 2 dimentional Arraystruktur benötigen, aber jede Hilfe geschätzt wird viel! ... Danke

+0

Sie haben die Frage beantwortet, verwenden Sie einfach ein 2D-Array. Für 4 Bildschirme können Sie eine ArrayList von ihnen haben. – Itsik

Antwort

0

Arraylist ist eine schöne, einfache Array-Typ-Liste, die das Hinzufügen und Entfernen von ermöglicht.

Sie könnten ein Array von Arrays erstellen, wenn Sie möchten. Das wäre ein zweidimensionales Array.

+0

Yehs ich sah 2D-Arrays. und würde mir eine ArrayList erlauben, ANYWHERE innerhalb des Bildschirms hinzuzufügen und zu entfernen? danke – Simagen

+0

Nun, ich weiß nicht, wie Ihr Bildschirm funktioniert, aber ich weiß, dass ArrayList Ihnen erlauben wird, Elemente von Anfang, Ende oder Mitte einzufügen oder zu entfernen. Normale Java-Arrays erlauben nur das Ersetzen von Elementen, kein Hinzufügen/Entfernen. –

+0

Wenn ich ein NORMAL-Java-Array verwenden würde, würde ich den Wert des Knotens wieder auf null setzen, damit es wieder verfügbar ist, oder? Ich habe noch nicht den Bildschirm entworfen, aber die Hauptdatenstruktur, die ich in Frage stellen muss, ist, welches Array zu verwenden, um meine Bildschirme darzustellen. wird es 4 Bildschirme geben. 2 mit je 100 Plätzen und 2 mit jeweils 64 Plätzen. so muss ich in der Lage sein, zu wählen, welche Sitze ich ÜBERALL in meinem 2 dimensionalen Sitz-Array will. – Simagen

0

Klingt wie 4 Instanzen der gleichen Datenstruktur. Möglicherweise eine Sammlung von Screen-Objekten, die eine Sammlung von Sitzen enthalten.

2

Sie sollten eine Klassenstruktur erstellen, die die Art und Weise, wie Sie die Daten im Speicher speichern, abstrahiert. Sie könnten etwas tun wie:

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; 
} 

Hinweis: Dies ist nicht die einzige Lösung. Vielleicht möchten Sie in Seats in einer Map oder einer anderen Datenstruktur speichern.

0

Ich würde persönlich für ein einfaches und einfaches Seat[][] Array der oben vorgeschlagenen Klassenstruktur abstimmen. Es gibt einfach keinen Grund, ein anderes Array zu verwenden, da sich die Array-Größe wahrscheinlich nie ändern wird, wenn dies bei der Initialisierung möglich ist. Dann zeigen Sie sie einfach oder nicht auf dem Bildschirm durch entweder Daten in einer bestimmten Position oder null für nicht reservierte Sitze.

Je nach Bedarf (müssen Sie sich daran erinnern, wo der Gast gebucht hat?) Können Sie sogar boolean[][] als das Minimum verwenden.

Egal was, nur vier verschiedene Seat 2D Arrays erstellen und benennen. Vorzugsweise kleben Sie sie in eine separate Klasse und haben Setter und Getter.

Verwandte Themen