Eine gute Antwort wäre:

int[][] ungerade =
    { { 1, 9, 4 },
      { 0, 2},
      { 0, 1, 2, 3, 4 } };

Implementation eines 2D-Arrays

Ein zweidimensionales Array wird als ein Array von eindimensionalen Arrays implementiert. Das ist nicht so schwierig wie Sie vielleicht denken könnten. Es ist nur eine Erweiterung von dem, was Sie bereits über eindimensionale Arrays von Objekten wissen. Die Deklaration

int[][] arr;    // 1.

deklariert eine Variable arr, die in der Zukunft auf ein Arrayobjekt verweisen kann. An dieser Stelle wurde nichts über die Anzahl der Zeilen oder Spalten ausgesagt.

Um ein Array von Zeilen zu erzeugen tun Sie dies:

arr = new int[3][] ;  // 2.

Jetzt verweist arr auf ein Arrayobjekt. Das Arrayobjekt hat 3 Slots. Jeder Slot kann (in der Zukunft) auf ein Array von int verweisen, ein int[]-Objekt. Aber noch keiner der Slots verweist auf ein Objekt. Sie werden mit null initialisiert.

Eine Möglichkeit die Zeile 0 zu erzeugen ist:

arr[0] = new int[3] ;  // 3.

Das erzeugt ein 1D-Arrayobjekt und stellt dessen Referenz in den Slot 0 von arr. Die Elemente des 1D-Arrays werden mit 0 initialisiert.

Ein vorher erzeugtes 1D-Array kann einer Zeile zugewiesen werden:

int[] x = {0, 2};
int[] y = {0, 1, 2, 3, 4} ;

arr[1] = x ;
arr[2] = y ;          // 4.

Die Zeilen müssen nicht die gleiche Anzahl an Elementen haben.


Die vorausgehenden Anweisungen haben Schritt für Schritt das 2D-Array erzeugt. Normalerweise würden Sie das nicht tun.

FRAGE 11:

Schreiben Sie Java Anweisungen, die die Werte 1, 9 und 4 in die erste Zeile von arr stellen.

Inhaltsverzeichnis