Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:java:algorithmen:arrays:uebungen3:start [04.10.2021 18:40] – [Array-Operationen] sbel | faecher:informatik:oberstufe:java:algorithmen:arrays:uebungen3:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Array-Operationen ====== | ||
- | |||
- | Das blueJ-Projekt enthält eine Klasse '' | ||
- | |||
- | |||
- | * [[https:// | ||
- | |||
- | ===== Aufgaben ===== | ||
- | |||
- | ==== 1) ==== | ||
- | |||
- | |||
- | Verschaffe dir einen Überblick über die Methoden der App. | ||
- | |||
- | * Was bewirkt die Zeile '' | ||
- | * Wie funktioniert die Methode '' | ||
- | * Welche Werte liefert '' | ||
- | * 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... | ||
- | |||
- | - 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 '' | ||
- | - 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 " | ||
- | - Das Array soll umgedreht werden. | ||
- | |||
- | ++++ Klicken, um den Quellcode zu sehen | | ||
- | <code java App.java> | ||
- | /** | ||
- | * Erzeugt eine Zufallsreihe und ermöglicht Abfragen darüber. | ||
- | | ||
- | * @author Rainer Helfrich | ||
- | * @author Frank Schiebel | ||
- | * @version 1.0 | ||
- | */ | ||
- | class Zufallsreihe | ||
- | { | ||
- | private int[] daten; | ||
- | int anzahl; | ||
- | | ||
- | public Zufallsreihe(int anzahl) | ||
- | { | ||
- | this.anzahl = anzahl; | ||
- | daten = new int[anzahl]; | ||
- | for (int i = 0; i < daten.length; | ||
- | { | ||
- | // Für manche Aufgaben sollte man die 6 durch z.B. 1000 ersetzen | ||
- | daten[i] = getZufallszahl(6); | ||
- | } | ||
- | } | ||
- | | ||
- | public int aufgabe01Summe() | ||
- | { | ||
- | return 0; | ||
- | } | ||
- | | ||
- | public int aufgabe02ZaehleNullen() | ||
- | { | ||
- | return 0; | ||
- | } | ||
- | | ||
- | public int aufgabe03FindeLetzteNull() | ||
- | { | ||
- | return 0; | ||
- | } | ||
- | | ||
- | public int aufgabe04FindeErsteNull() | ||
- | { | ||
- | return 0; | ||
- | } | ||
- | | ||
- | public boolean aufgabe05Enthaelt1() | ||
- | { | ||
- | return false; | ||
- | } | ||
- | | ||
- | public boolean aufgabe06Enthaelt2Und5() | ||
- | { | ||
- | return false; | ||
- | } | ||
- | | ||
- | public boolean aufgabe07EnthaeltFixpunkt() | ||
- | { | ||
- | return false; | ||
- | } | ||
- | | ||
- | public int aufgabe08ZaehleWiederholungen() | ||
- | { | ||
- | return 0; | ||
- | } | ||
- | | ||
- | public int aufgabe09ZaehleDreierWiederholungen() | ||
- | { | ||
- | return 0; | ||
- | } | ||
- | | ||
- | public int aufgabe10LaengsteSerie() | ||
- | { | ||
- | return 0; | ||
- | } | ||
- | | ||
- | public int aufgabe11Zweitgroesste() | ||
- | { | ||
- | return 0; | ||
- | } | ||
- | | ||
- | public void aufgabe12Plus1() | ||
- | { | ||
- | | ||
- | } | ||
- | | ||
- | public void aufgabe13NullZuHundert() | ||
- | { | ||
- | | ||
- | } | ||
- | | ||
- | public void aufgabe14Rotation() | ||
- | { | ||
- | | ||
- | } | ||
- | | ||
- | public void aufgabe15Umdrehen() | ||
- | { | ||
- | | ||
- | } | ||
- | |||
- | | ||
- | /** dient zum Anzeigen der Reihung am Bildschirm; | ||
- | * kann durch INSPECT ersetzt werden */ | ||
- | public void anzeigen() { | ||
- | for (int i=0; i< anzahl; i++) { | ||
- | | ||
- | } | ||
- | } | ||
- | | ||
- | /** | ||
- | * Gibt eine Zufallszahl zwischen 0 und grenze-1 zurück. | ||
- | */ | ||
- | private int getZufallszahl(int grenze) | ||
- | { | ||
- | return (int)(grenze*Math.random()+1); | ||
- | } | ||
- | | ||
- | } | ||
- | |||
- | |||
- | /* App Klasse. Steuerklasse für unser Programm */ | ||
- | public class App { | ||
- | |||
- | public static void main(String[] args) { | ||
- | Zufallsreihe reihe1 = new Zufallsreihe(100); | ||
- | reihe1.anzeigen(); | ||
- | } | ||
- | |||
- | } | ||
- | |||
- | |||
- | </ | ||
- | |||
- | ++++ |