Eine gute Antwort könnte sein:

int[][] uneven =
    { { 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. Dies ist nicht so furchtbar wie Sie denken könnten. Es ist nur eine Erweiterung von dem, was Sie bereits über eindimensionale Arrays von Objekten wissen. Die Deklaration

int[][] myArray;    // 1.

deklariert eine Variable myArray, 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:

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

Jetzt verweist myArray 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 dies:

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

Dies erzeugt ein 1D Arrayobjekt und stellt dessen Referenz in den Slot 0 von myArray. 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} ;

myArray[1] = x ;
myArray[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 dies nicht tun.

FRAGE 11:

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