Sie sind auf Seite 1von 4

Java Programmierung

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

Ein Array mit 6 Plätzen anlegen:


int[] anzahlen = new int[6];
Oder gleich mit Elementen belegen:
String[] names = new String[]{ "Anna", "Berta", "Cäsar" };

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;

//Array für Anzahlen mit 6 Plätzen anlegen


int[] anzahlen = new int[6];

//100 Durchgänge
for (int i = 0; i <= 99; i++)
{
//Würfeln
gewuerfelteZahl = wuerfel.nextInt(6);

//An dieser Stelle im Array eins hochzählen


anzahlen[gewuerfelteZahl]++;
}

//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[]

Aufgabe 1: Arrays befüllen

• 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.

a) Füllen Sie das Array mit den Werten { 3, 4, 5, 6, 7, 8, ... }


b) Füllen Sie das Array mit den Werten { 0, 2, 4, 6, 8, 10, ... }
c) Füllen Sie das Array mit den Werten { 20, 19, 18, 17, 16, 15, ..., 1 } Anstelle von 20 nehmen
Sie die Länge des Arrays, so dass der letzte Wert auf jeden Fall 1 ist.

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

Lösen Sie die folgenden Teilaufgaben in


einem gemeinsamen Programm. Die
Benutzeroberfläche rechts ist als
Vorschlag gedacht. Folgende Schritte
sollen beim Klick auf den Button
ausgeführt werden.

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

b) Größte und kleinste Zahl:


Finden Sie die größte und die kleinste Zahl im Array und zeigen Sie diese jeweils in einem
Textfeld an.

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

Frage: Welche Türen sind am Schluss offen?

a) Vorüberlegungen: Der Zustand der Zelle kann


durch eine boolean-Variable beschrieben werden.
true steht z.B. für offen, false für geschlossen. Sie
brauchen also ein boolean-Array.
Ist b eine boolean-Variable, so gibt der Befehl !b
(„nicht b“) den gegenteiligen Wert der Variable
zurück.

b) Zeichnen Sie vor dem Programmieren ein


Struktogramm.

c) Programmieren Sie den Vorgang.


Lassen Sie danach die Liste der Zellennummern der freien Gefangenen in einer TextArea ausgeben.

d) Wie kann man das Ergebnis erklären?

Informatik
Arrays
Kepler Gymnasium Java Programmierung
- Seite 4 -
Tübingen

Das könnte Ihnen auch gefallen