Auf Thema antworten

Bin mir nicht ganz sicher, ob ich dich richtig verstanden habe, aber sollte dem so ein würde ich mir wahrscheinlich eine abstrakte Klasse Programm schreiben mit einer getName()-Methode  und einem Getter/Setter für einen int "nummer". Dann folgen zwei implementierende Klassen Hauptprogramm und Unterprogramm. Hauptprogramm besitzt eine Collection von Unterprogrammen. Beide Klassen implementieren Comparable und können dann ausschließlich anhand ihrer Nummer untereinander verglichen werden (da sie ja offensichtlich immer den gleichen Buchstaben haben).


Beim Einlesen der Programmnamen unterteilst du dann einfach: wenn ein P vorne steht, wird dies ein Hauptprogramm, wenn ein U vorne steht, erzeugst du ein Untergramm und fügst das Objekt in die Collection vom letzten Hauptprogramm. Die Hauptprogramme packst du dann in eine eigene Collection.


Beim Erzeugen der Programme trennst du die Nummer aus dem Namen heraus (= int nummer ). In der getName Methode gibst du dann einfach den Buchstaben + Nummer wieder zurück.


Beim Auslesen der Hauptprogrammcollection fragst du dann einfach immer ab, ob das Hauptprogramm noch Unterprogramme hat.



Oben