Wofür steht das x[0].length im Zwei-Dimensionalen Array?


07.05.2022, 13:10
spalte++

natürlich

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das:

x.[0].length

ist ein Syntaxfehler. Richtig wäre:

x[0].length

Die Variable x zeigt immerhin auf ein Array. Mit [0] holst du dir den ersten Eintrag des Arrays, welches wiederum ein Array ist. Von diesem Array wird anschließend die Länge geholt.

In Langform demonstriert also:

int[] innerArray = x[0];
int innerArrayLength = innerArray.length;
Und wann schreibt man [][]int und wann int[][]?

Bei der Deklaration gibt es nur diese zwei Schreibweisen:

int[][] array;
int array[][];

Die letztgenannte stammt noch aus C. Java sollte damals so gestaltet werden, sodass C-Entwickler leicht zu Java wechseln können.

Wofür steht das x[0].length im Zwei-Demensionalen Array?

Das ist die momentane Länge des Arrays. Die inneren Arrays müssen nicht immer die gleiche Länge haben - hiermit wird sichergestellt, dass eben in jeder Iteration die richtige Anzahl an Feldern abgelaufen wird

for(int spalte = 0; spalte < x.[0].length; spalte){

sicher, dass hier bei "spalte" (ganz hinten) nicht noch ein ++ fehlt?

Und woher weiß ich, ob ich die Zeile oder die Spalte gette?

Indem du dir ein 2D-Array als "Arrays in einem Array" vorstellst. Sei das Array mal so aufgebaut:

[
  [ 1, 2 ],
  [ 3, 4 ]
]

das äußere Array beinhaltet jetzt zwei innere Arrays. Das Array [1, 2] ist also über den Index 0 des äußeren Arrays anzusprechen, das Array [3, 4] über Index 1 ...

Die einzelnen Felder in den entsprechenden Arrays werden dann über den entsprechenden zweiten Index angefragt.

Sei das äußere Array mal in der Variable "arr" gespeichert, kommst du auf das erste Feld mit der 1 über arr[0][0] (weil es das erste äußere Array und das erste Feld des inneren Arrays ist)

x.length ist die Anzahl der Zeilen. In dem Fall 3.

x[0].length ist die Länge der 0-ten Zeile, also wieviele Spalten/Elemente sie beinhaltet. Ebenfalls 3.

Du hast drei kleine Arrays in einem großen.

Diese drei Arrays sind die Zeilen. Und da kann man natürlich dann durch den Index auf das Element in der jeweiligen Spalte zugreifen.

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf