Aufgabe: Aufgabenblatt ArrayList Seite 1

Werbung
Aufgabe:
Aufgabenblatt ArrayList
Seite 1
Aufgabe 1 – Verlosung
Eine Lostrommel soll simuliert werden. Erstellen sie dazu eine Klasse LosTrommel, die als Attribut die Lose in einer ArrayList verwaltet. Folgende Methoden sind zu implementieren:
• public LosTrommel(int nieten, int gewinne)
legt die gewünschte Anzahl von Losen an. Die Nieten haben den Wert 0, die Gewinnlose
werden von 1 an aufsteigend durchnummeriert.
• int ziehe() throws EmptyException
zieht ein Los aus der Tronmmel (s. Math.random() oder java.util.Random)
• int getGewinne() gibt die Anzahl der noch vorhandenen Gewinne zurück
• int getNieten() gibt die Anzahl der noch vorhandenen Nieten zurück
Ermitteln sie durch Simulation, wie lange es durchschnittlich dauert, bis man einen Gewinn zieht,
wenn sich in der Lostrommel 100 Lose befinden, von denen 10 Gewinne sind.
Aufgabe 2 – Sortierte Liste
Erstellen Sie ein Hauptprogramm, dem 2 Dateinamen als Parameter übergeben werden. Die Dateien enthalten je eine beliebig lange Liste mit Double-Zahlen, die nach Größe sortiert sind und
gemischt werden sollen.
Erstellen Sie dazu eine Klasse SortierteListe, die als Attribut eine ArrayList beinhaltet. Folgende
Methoden sollen implementiert werden:
• Ein Konstruktor public SortierteListe(String dateiname), der die Werte
aus einer Datei liest.
• Ein Konstruktor public SortierteListe(double[] arr).
• Die toString-Methode, die die Liste ausgibt.
• Eine Methode public merge(SortierteListe list). Diese Methode soll die aktuelle und die übergebene Liste mischen, wobei die Sortierung erhalten bleibt. Dies soll
durch Einfügen der Elemente der übergebenen Liste an die passende Position der aktuellen
Liste geschehen.
Aufgabe 3 – Testen
Schreiben Sie ein Hauptprogramm, dass die Funktionialität der Klasse SortierteListe testet. Sowohl
die korrekte Funktion als auch die Behandlung aller Fehler soll sichergestellt werden.
Zusatzaufgabe
Erstellen Sie eine Klasse MyArrayList. Diese implementiert eine einfache Version von java.util.ArrayList
mit Hilfe eines Feldes und folgenden Methoden:
• MyArrayList(int initialSize)
• int size(), gibt die Anzahl der belegten Elemente zurück
• int get(int index), gibt das Element an Position index zurück
• void add(int index, int elem)
• void set(int index, int elem)
Die initiale bzw. aktuelle Größe des Feldes soll bei Bedarf verdoppelt werden.
WS 2015/16, Übung zum Javakurs für MATSE
18. November 2015
Herunterladen