Beruflich Dokumente
Kultur Dokumente
Arrays[]
1. Arrays
Ein Array ist eine Reihe / ein Feld aus Elementen von gleichem Datentyp. Die einzelnen Elemente
des Arrays können über ihren Index (Position im Array) gelesen und geschrieben werden.
2. Syntax: Arrays
Elemente des Arrays über ihren Index (Position im Array) schreiben und lesen:
anzahlen[0] = 5;
int x = anzahlen[3];
Die Anzahl der Elemente im Array (d.h. seine Länge) kann über seine Eigenschaft length abgefragt
werden:
int laenge = anzahlen.length; //Wert von laenge: 6
3. Beispiel
Erstellen Sie ein Programm, das 100mal würfelt und dabei zählt, wie oft jede Zahl gewürfelt wurde.
//Zufallswürfel initialisieren
Random wuerfel = new Random();
int gewuerfelteZahl;
//100 Durchgänge
for (int i = 0; i <= 99; i++)
{
//Würfeln
gewuerfelteZahl = wuerfel.nextInt(6);
//Ausgabe
txt0.setText(Integer.toString(anzahlen[0]));
txt1.setText(Integer.toString(anzahlen[1]));
txt2.setText(Integer.toString(anzahlen[2]));
txt3.setText(Integer.toString(anzahlen[3]));
txt4.setText(Integer.toString(anzahlen[4]));
txt5.setText(Integer.toString(anzahlen[5]));
Informatik
Arrays
Kepler Gymnasium Java Programmierung
- Seite 1 -
Tübingen
Java Programmierung
Arrays[]
• Erstellen Sie ein Programm mit einem Button „Erstelle Array“ und einem Textfeld
„txtLaenge“, in das der User die Länge des Arrays vorgeben kann.
• Beim Klick auf den Button soll ein Array mit der Zahlenfolge der Aufgabe angelegt werden.
• Nach der Befüllung des Arrays sollen die Elemente in TextArea ausgegeben werden.
d) Füllen Sie das Array mit den Werten { 1, -1, 1, -1, 1, -1, ... }
e) Füllen Sie das Array mit den Werten { 0, 1, 3, 6, 10, 15, ... }
f) Füllen Sie das Array mit den Werten { 0, 1, 1, 2, 3, 5, 8, 13, ... }
g) Füllen Sie das Array mit den Werten { 0, 1, 0, 3, 0, 5, 0, 7, ... }
h) Füllen Sie das Array mit den Werten { 1, 2, 4, 8, 16, 32, 64, 128, ... }
i) Füllen Sie das Array mit den Werten { 1, 2, 0, 4, 5, 0, 7, 8, 0, ... }
j) Füllen Sie das Array mit den Werten { 10, 20, 15, 25, 20, 30, 25, 35, ... }
Tipps:
• Sie benötigen immer eine Schleife, deren Zähler i von 0 oder 1 bis daten.length-1 läuft.
Überlegen Sie sich, wie das i-te Element des Arrays mit dem Index i zusammenhängt.
• Manchmal lässt sich der Wert eines Elements auch elegant durch seinen Vorgänger
bestimmen. In diesen Fällen ist es sinnvoll, das erste Element gesondert zu behandeln und
die Schleife erst bei 1 beginnen zu lassen.
Informatik
Arrays
Kepler Gymnasium Java Programmierung
- Seite 2 -
Tübingen
Java Programmierung
Arrays[]
Aufgabe 2: Operationen auf Arrays
a) Zufällige Daten:
Der User legt in einem Textfeld die
Länge des Arrays fest. Erzeugen Sie
ein Array aus integer der
gewünschten Länge und füllen Sie es mit zufälligen Zahlen von 0 bis 100. Zeigen Sie das Array
in einer TextArea an. (Falls Sie damit Schwierigkeiten haben sollten, beginnen Sie mit einer
festen Array-Größe, z.B. 10 Elemente.)
c) Summe:
Berechnen Sie die Summe der Zahlen im Array und zeigen Sie sie in einem Textfeld an.
d) Array umdrehen:
Drehen Sie die Reihenfolge des Arrays um und speichern Sie es in einem neuen Array. Geben
Sie es in einer TextArea aus.
Laufen Sie in den Teilaufgaben nicht unnötig oft durch das Array. Für b) c) und d) benötigt man
zusammen nur eine for-Schleife.
Informatik
Arrays
Kepler Gymnasium Java Programmierung
- Seite 3 -
Tübingen
Java Programmierung
Arrays[]
Aufgabe 3: Die Gefangenen
Ein König will zu seinem Geburtstag alle 100 Gefangenen, die in Einzelzellen (von 1 bis 100
durchnummeriert) sitzen, freilassen. Dazu schickt er einen Boten, der alle Türen aufschließen soll.
Während der Bote den Befehl ausführt, kommen dem König Bedenken. Er schickt einen zweiten
Boten hinterher, der jede zweite Tür (d.h. die Türen 2, 4, 6, usw.) wieder schließt. Danach schickt er
einen dritten Boten los, der sich jede dritte Türe anschaut (3, 6, 9, usw.) Findet er eine offene Türe,
schließt er sie. Findet er eine geschlossene Türe, öffnet er sie. Der vierte, fünfte, sechste… Bote
geht genauso vor, bis 100 Boten nacheinander durch das Gefängnis durchgegangen sind.
Bei jedem "Schließvorgang" wird eine Türe also entweder aufgeschlossen (wenn zu) oder
zugeschlossen (wenn auf).
Informatik
Arrays
Kepler Gymnasium Java Programmierung
- Seite 4 -
Tübingen