Java-Turtle - Felder

Aus ProgrammingWiki
Archivierte Version vom 2012-03-12T19:46:58+00:00. Aktuelle Version
  • 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] = 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};

Eindimensionale Arrays, kann man sich als Reihe vorstellen. In unserem Beispiel:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Bsp.: Zweidimensionales Array, welches Platz für 36 Werte vom Typ boolean bietet. Diese Art von Array nennt man Matrix. Sie ist in diesem Fall quadratisch, 6x6. SteinbachNico_Matrix.png

Ü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() .