Java Aufgabe Enums mit Integer array?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Das soll, so wie ich es verstanden habe, ein Index-Übersetzer werden. Wenn du eine Enumeration hast:

enum Weekday { Monday, Tuesday, Wednesday, /* etc. ... */ }

wird den einzelnen Enumerationsinstanzen von Java intern ein Zahlwert zugeordnet, beginnend bei 0. Den kannst du mit der ordinal-Methode ermitteln.

int index = Weekday.Monday.ordinal(); // 0

Deine Klasse IntegerByEnum soll nun ein ganz normales Array verwalten. Um von außen auf die einzelnen Array-Elemente zuzugreifen, sollen die Instanzen eines Enums verwendet werden.

Wenn du in put bspw. Weekday.Tuesday mitsamt irgendeiner Zahl übergibst, soll das Array an der Stelle 1 (ordinaler Wert von Tuesday) die übergebene Zahl ablegen. Mit Weekday.Tuesday kann man mit der get-Methode auch wieder an den Wert herankommen.

Wenn du ein Objekt deiner Klasse anlegst, muss der Typ (Class) des Enums, welches später zur Assoziation für die Indizes genutzt werden soll, an den Konstruktor übergeben werden. Anhand dieses Objekts kannst du dir ein konkretes Enum-Objekt erstellen und die Anzahl der Konstanten ermitteln, um so auch die Arraylänge zu bestimmen. Schau dir dazu den bereits vorgegebenen Code an, denn der zeigt, wie du an diese Informationen gelangst.


Victor12351739 
Beitragsersteller
 03.12.2021, 14:46

Wow vielen dank. Hätte mein Prof einfach geschrieben, dass man einen Index-Übersetzer schreiben soll hätte ich nicht große Schwierigkeiten gehabt. Deine Antwort hat mir sehr stark geholfen!

0