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''' einzelne Variablen notwendig. Wir benötigen komplexe Datenstrukturen, in der eine große Anzahl von Werten des gleichen Typs gespeichert werden können!<BR><BR>
'''Lösung:'''<BR>
{| border="1"
|-
| '''Eindimensionale Felder - Array: ''' || Zusammenfassung Daten gleichen Typs - z.B. 10 Zahlen
|-
| '''Variablen anlegen: ''' || int[] zahlen = new int[10];
|-
| Ein Array kann man sich wie einen Zug mit Waggons vorstellen.<BR> Möchte man einen Wert in den Waggon 3 ablegen: || zahlen[3] = 12;
|-
| '''Füllen des Arrays: '''<BR>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) ;}
|-
| '''Inhalt des Arrays ausgeben:''' || for( int i = 0; i < zahlen.length; i++){ System.out.println(zahlen[i]);}
|-
|'''Weitere Variante:''' Werte sofort in das Array schreiben: || int[] zahlen = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};<BR>
|}
<run id="4f5e57da6adf9">
int[] zahlen = new int[10];
for ( int i = 0; i < zahlen.length; i++ ) { zahlen[i] = (int) Math.round(Math.random()*100) ;}
for ( int i = 0; i < zahlen.length; i++ ) { System.out.println(zahlen[i]);}
</run>
*''' Übungen'''
----
*'''Array manuell mit Werten füllen'''
Legen Sie 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 Sie 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 ===
Legen Sie ein Array für 2 Namen an. Dann weisen jeder Stelle einen Namen zu. Stelle Null des Arrays soll '''Abitur''' sein und Stelle 1 soll '''Schule''' sein. Nennen Sie das Array '''namen'''.
<code id="4cd6a85e08580">
</code>
<check>
return namen[0] == "Abitur" && namen[1] == "Schule;
</check>
*'''Array automatisch füllen '''
Legen Sie ein Array für 16 ganzzahlige Werte an. Es soll '''werte''' heißen. Es sollen 16 Werte darin gespeichert werden. Sie müssen also wiederholt eine Zahl an jede Stelle des Arrays schreiben - nutzen Sie Wiederholungsanweisungen. '''Die Zahlen müssen zwischen 0 und 15 liegen.'''
<run id="4f5e6255c0f58">
</run>
*''' Berechnen der Summe '''
Legen Sie ein Array für 5 ganzzahlige Werte an. Es soll '''werte2''' heißen. Es sollen 5 zufällige Werte zwischen 0 und 10 gespeichert werden. Schreiben Sie die 5 Werte in das Ausgabefeld. Bilden Sie die Summe der Zahlen.'''
<run id="4ce2339fd2e32">
</run>
*''' Das kleinste Elemente '''
Legen Sie ein Array für 5 ganzzahlige Werte an. Es soll '''werte3''' heißen. Es sollen 5 zufällige Werte zwischen 0 und 10 gespeichert werden. Schreiben Sie die 5 Werte in das Ausgabefeld. Geben Sie das kleinste Element aus.'''
<run id="4f5e6317d0f65">
</run>