Java-Turtle - Felder
- Strukturierte Datentypen - Arrays, Felder
Als Wetterbeobachter sollen Sie stündlich die Temperatur ablesen und speichern! Es ergibt sich eine Messreihe pro Tag mit bereits 24 Einzelzellen für die Stunden. Für eine Woche benötigt man 7 weitere Zeilen, dann hat man bereits die Messwerttabelle mit 24 Spalten und 7 Zeilen. 4 solche Tabellen könnten nun wiederum übereinander liegend die Menge aller
Messwerte eines Monats darstellen (4 Wochen/Monat). Damit ist bereits ein Gebilde der 3. Dimension entstanden (Speicherquader). 4 solche Tabellen könnten nun wiederum übereinander liegend die Menge aller Messwerte eines Monats darstellen (4 Wochen/Monat). Damit ist bereits ein Gebilde der 3. Dimension entstanden (Speicherquader).
Im obigen Beispiel würden somit 24 Stunden x 7 Tagen x 4 Wochen x 12 Monate = 8064 einzelen Variablen notwendig. Wir benötigen komplexe Datenstrukturen, in der eine große Anzahl von Werten des gleichen Typs gespeichert werden!
Lösung:
Eindimensionale Felder - Array: Zusammenfassung Daten gleichen Typs - z.B. Temperatur/Stunde/Tag -> 24 Werte
Variablen anlegen: int[] zahlen = new int[10];
Ein Array kann man sich wie einen Zug mit Waggons vorstellen - möchte man einen Wert in den Wagon 3 ablegen: zahlen[3] = 12;
Füllen des Arrays: Effektiv kann man mit Zufallszahlen und Zählschleifen arbeiten: for( int i = 1; i < zahlen.length + 1; i++){ zahlen[i] = (int) Math.round(Math.random()*100) ;}
Inhalt des Arrays ausgeben:effektiv arbeitet man mit einer Zählschleife: for( int i = 1; i < zahlen.length + 1; i++){ System.out.println(zahlen[i]);}
Weitere Variante: Variablen sofort in das Array schreiben: int[] zahlen = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
- Übung
In diesen Übungen geht es darum, das bereits erworbene Wissen zu kombinieren und anhand dessen, Arrays zu verstehen.
- Array manuell mit Werten füllen
Lege ein Array vom Typ int an. Es soll gleich bei der Deklaration angegeben werden, welche Werte darin stehen. Die Werte sind 1, 2 und 3. Nenne das Array zahlen.
Array fester Größe manuell befüllen
Lege nun ein Array mit einer festen Größe an. Die Größe soll 2 sein. Dann weise jeder Stelle ihren Wert zu. Stelle Eins soll 0 sein und Stelle 2 soll 1 sein. Nenne das Array bin.
- Array automatisch füllen
Lege ein Array für int Werte an. Es soll werte heißen. Es sollen 16 Werte darin gespeichert werden. Du musst also wiederholt eine Zahl an jede Stelle des Arrays schreiben. Fällt Dir beim Wort "Wiederholung" ein, welches Sprachmittel in Java dafür zur Verfügung steht? Die Zahlen müssen zwischen 0 und 15 liegen.
- Matrix - Einfaches Befüllen
Lege hier ein zweidimensionales Array vom Typ boolean an. Es soll den Namen matrix tragen. Fülle das Array automatisch mit Werten.
Hinweis:
Zeilenlänge : matrix.length
Spaltenlänge: matrix[0].length
Um zufällig einen Wert vom Typ boolean zu erzeugen, nutze diesen Aufruf.
new Random().nextBoolean() .- Addieren aller Elemente
Lege hier ein zweidimensionales Array vom Typ int an. Es soll den Namen matrix2 tragen. Fülle das Array automatisch mit Werten deiner Wahl. Wenn du die Matrix gefüllt hast sollst du mit 2 for-Schleifen durch die Matrix gehen und alle werte aufaddieren. Lege dir hierzu eine Hilfsvariable an, auf die die aktuelle Variable draufaddiert wird.
Hinweis:
Zeilenlänge : matrix2.length
Spaltenlänge : matrix2[0].length
Um zufällig einen Wert vom Typ int zu erzeugen, nutze diesen Aufruf.
new Random().nextInt() .