Huelsse/Profil Nawi/Java/Java-Turtle - Felder

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>

*'''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).<BR>
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!<BR><BR>
'''Lösung:'''<BR>
'''Eindimensionale Felder - Array: ''' Zusammenfassung Daten gleichen Typs - z.B. Temperatur/Stunde/Tag -> 24 Werte <BR>
'''Variablen anlegen:              ''' int[] zahlen = new int[10];<BR>
Ein Array kann man sich wie einen Zug mit Waggons vorstellen - möchte man einen Wert in den Wagon 3 ablegen: zahlen[3] = 12;<BR>
'''Füllen des Arrays:              '''Effektiv kann man mit Zufallszahlen und Zählschleifen arbeiten: for( int i = 0; i < zahlen.length; i++){ zahlen[i] = (int) Math.round(Math.random()*100) ;}<BR>
'''Inhalt des Arrays ausgeben:'''effektiv arbeitet man mit einer Zählschleife:  for( int i = 0; i < zahlen.length; i++){ System.out.println(zahlen[i]);}  <BR>

'''Weitere Variante:''' Variablen sofort in das Array schreiben: int[] zahlen = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};<BR>

<run id="4f5e57da6adf9"></run>

*''' Ü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'''.

<code id="4cd6a85e084ce">
// Lege hier das Array an
</code>

<check>
return zahlen[0] == 1 && zahlen[1] == 2 && zahlen[2] == 3;
</check>

=== 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'''.

<code id="4cd6a85e08580">

</code>

<check>
return bin[0] == 0 && bin[1] == 1;
</check>


*'''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 aufsteigend zwischen 0 und 15 liegen.'''


<code id="4cd6a9ba689ee">

</code>

<check>
 return werte[0] == 0 && werte[15] == 15;
</check>


*''' Berechnen der Summe '''
Lege ein Array für int Werte an. Es soll '''zahlen''' heißen. Es sollen 5 zufällige Werte zwischwn 0 und 10 gespeichert werden. Schreiben Sie die 5 Werte in das Ausgabefeld. Bilden Sie die Summe der Zahlen.'''


<run id="4ce2339fd2e32">

</run>

*''' 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() '''.



<run id="4f5e4d946394f">
// Hier kommt dein Quellcode hin
</run>