====== Array-Operationen ====== Das blueJ-Projekt enthält eine Klasse ''zufallsreihe'', die ein Array von int-Zahlen speichert und mit Zufallswerten füllt. Beim Anlegen von zufallsreihe-Objekten musst du angeben, wie viele Elemente die Zufallsreihe enthalten soll. Eventuell muss man für einzelne Aufgaben den Parameter der Methode getZufallszahl(...) anpassen oder den Quellcode geschickt ändern. * [[https://codeberg.org/qg-info-unterricht/arrays02_uebungen|BlueJ Projekt Arrays]] ===== Aufgaben ===== ==== 1) ==== Verschaffe dir einen Überblick über die gegebenen Methoden. * Was bewirkt die Zeile ''this.anzahl = anzahl;'' im Konstruktor der Klasse Zahlenreihe? * Wie funktioniert die Methode ''getZufallszahl(max)''. * Welche Werte liefert ''getZufallszahl(100)'' zurück? * Wie muss der Aufruf lauten, um Zufallszahlen zwischen 1 und 50 zu erhalten? * Wie kann man Vorgehen, um auch den Wert 0 in der Zufallsreihe zu erhalten? ==== 2) ==== Schreibe jeweils eine Methode, die... Teste deine Methoden durch entsprechende Aufrufe in der main Methode. - die Summe aller Werte im Array bestimmt und zurückgibt. - die Anzahl der Nullen im Array bestimmt und zurückgibt. - den Index bestimmt, an dem sich die letzte 0 des Arrays befindet und diesen zurückgibt. Falls keine 0 enthalten ist, soll -1 zurückgegeben werden. - den Index bestimmt, an dem sich die erste 0 des Arrays befindet und diesen zurückgibt. Falls keine 0 enthalten ist, soll -1 zurückgegeben werden. - prüft, ob das Array mindestens eine 1 enthält. - prüft, ob das Array mindestens eine 2 und mindestens eine 5 enthält. - prüft, ob das Array einen Fixpunkt enthält. Ein Fixpunkt ist ein Element, das gleich seinem Index ist, d.h. es muss ''daten[i] == i'' gelten. - die Anzahl der Wiederholungen bestimmt und zurückgibt. Eine Wiederholung liegt vor, wenn zwei aufeinanderfolgende Elemente des Arrays den gleichen Wert haben. - die Anzahl der Dreier-Wiederholungen bestimmt und zurückgibt. Hier müssen drei aufeinanderfolgende Elemente gleich groß sein. - die Länge der längsten Serie des Arrays bestimmt und zurückgibt. Eine Serie sind mehrere direkt aufeinanderfolgende Elemente, die den gleichen Wert haben. - die zweitgrößte Zahl des Arrays bestimmt und zurückgibt. - Jedes Element des Arrays soll um 1 erhöht werden. - Jede 0 im Array soll durch eine 100 ersetzt werden. - Jedes Element des Arrays soll um eine Stelle nach vorne gerückt werden. Das erste Element soll an die letzte Stelle gesetzt werden. Diese Operation nennt man "Rotation". - Das Array soll umgedreht werden. ---- [[.lsg:start|Lösungsvorschläge Übungen 3]]