Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich bin noch ein Anfänger in Java und habe eine kleine Aufgabe im Studium wo ich nicht weiterkomme.
Die Aufgabe besteht daraus, dass man ein Zug baut aus einzelnen Waggons. Die verschieden Typen des Waggons werden durch eine Enum Klasse Type repräsentiert. Die verschiedenen Waggontypen sind ENGINE, FIRST, BISTRO und SECOND.
Dazu habe ich noch eine Klasse WAGGON die einen beliebigen Wagen des Zuges repräsentiert und initialisiert. Sowie die Klasse TRAIN die mit einem Konstruktor die Anzahl der FIRST Waggons und die Anzahl der SECOND Waggons erhält und zusammen mit ENGINE und dem BISTRO(zwischen First und Second) zu einem Zug initialisiert.
Zu meinem Problem:
Ich soll eine Methode schreiben public int getNumber() die die aktuelle Wagennummer liefert.
Liefert die aktuelle Wagennummer im Zug. Jeder Wagen erhält eine Wagennummer, die seine Position im aktuellen Zug angibt. Die Nummerierung beginnt immer bei der Lok mit dem Wert 0. Alle folgenden Wagen werden ab 1 aufsteigend nummeriert. Wird ein Zug umgebaut (siehe unten), muss die Wagennummer aktualisiert werden. Falls der Wagen in keinem Zug verplant ist, wird der Wert -1 zurück gegeben.
Nur weiß ich nicht wie ich das Anstellen soll. Kann mir da jemand ein Tipp geben ?
Ich hoffe ich habe mich verständlich ausgedrückt.
Hast du den Zug als Liste realisiert, oder wie hast du das gemacht?
Falls ja, dann fang einfach vorne (bei der Lok) an zu suchen und hangel dich durch den Zug, bis du entweder den gesuchten Wagen gefunden hast (dann gib die Position aus) oder du das Ende des Zuges erreicht hast (dann gib einen Fehler (z.B. eine -1 oder eine "EndOfTrainException ) aus )
realisieren, da diese automatisch zählt und man relativ einfach in der Mitte ein Objekt (also einen Waggon) anhängen kann.
Der Code würde in etwa so aussehen (Klasse Train): (ich übergebe den Zug, in welchem der Wagen steht, damit der Wagen herausfinden kann, an welcher Stelle er steht)
Da ArrayList intern mit einem Array arbeitet, ist ausgerechnet diese List-Implementierung denkbar ungeeignet, falls es häufig zu der von dir genannten Operation kommen sollte. Viel besser wäre beispielsweise eine LinkedList.