Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:java:algorithmen:arrays:uebungen3:start [12.02.2020 11:43] – sbel | faecher:informatik:oberstufe:java:algorithmen:arrays:uebungen3:start [07.10.2021 07:32] (aktuell) – [2)] sbel | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
- | Die App unten enthält eine Klasse '' | + | Das blueJ-Projekt |
+ | |||
+ | |||
+ | * [[https:// | ||
===== Aufgaben ===== | ===== Aufgaben ===== | ||
- | Verschaffe dir einen Überblick über die Methoden der App. | + | ==== 1) ==== |
- | | + | |
+ | Verschaffe dir einen Überblick über die gegebenen Methoden. | ||
+ | |||
+ | | ||
* Wie funktioniert die Methode '' | * Wie funktioniert die Methode '' | ||
* Welche Werte liefert '' | * Welche Werte liefert '' | ||
Zeile 14: | Zeile 20: | ||
* Wie kann man Vorgehen, um auch den Wert 0 in der Zufallsreihe 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. | ||
- | <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 */ | + | [[.lsg: |
- | public class App { | + | |
- | + | ||
- | public static void main(String[] args) { | + | |
- | Zufallsreihe reihe1 = new Zufallsreihe(100); | + | |
- | reihe1.anzeigen(); | + | |
- | } | + | |
- | + | ||
- | } | + | |
- | + | ||
- | </ |