Arraywirrwarr
-
Wie ist das Array zu verstehen? Ich habe 2 eckige Klammern für 2 Dimensionen.
Habe aber mehrere Scopes, heißt das es werden willkürlich die Arraydimensionen untereinander aufgeteilt zu 2 Dimensionen d.h. die erste Dimension hat beispielsweise 13 Elemente (4 Scopes) und die zweite Dim. 9 Elemente (4 Scopes)?int [][]arr = new int[][] { {3,4,6,2,},{54,4,11},{78,65,86},{56,3453,222}, {26,12253,23322},{22221,111,999},{71,1,12} };
Außerdem finde ich in Java merkwürdig, dass wenn ein Komma nach dem letzten Element innerhalb des "Scopes" ist, kein Fehler auftritt. Beispielsweise hat im ersten Scope {3,4,6,2,}.
Danke.
-
Ich verstehe deine Frage nicht so ganz?
Hast du ein "Problem" damit das die matrix nicht 3x3 Felder groß ist?In java kannst du durchaus Dreieckige Array bauen
-
Wo ist den das Problem?
int[] array = {1,2,3,4,}; int[][] array = { /*0.*/ {1,2,3,4,}, /*1.*/ {1,2,3,4,}, /*2.*/ {1,2,3,4,}}; int[][][] array = { /*0.*/ {/*0.*/ {1,2,3,4,}, /*1.*/ {1,2,3,4,}, /*2.*/ {1,2,3,4,}}, /*1.*/ {/*0.*/ {1,2,3,4,}, /*1.*/ {1,2,3,4,}, /*2.*/ {1,2,3,4,}}, /*2.*/ {/*0.*/ {1,2,3,4,}, /*1.*/ {1,2,3,4,}, /*2.*/ {1,2,3,4,}}};
-
Purzelbär schrieb:
Wie ist das Array zu verstehen? Ich habe 2 eckige Klammern für 2 Dimensionen.
Habe aber mehrere Scopes, heißt das es werden willkürlich die Arraydimensionen untereinander aufgeteilt zu 2 Dimensionen d.h. die erste Dimension hat beispielsweise 13 Elemente (4 Scopes) und die zweite Dim. 9 Elemente (4 Scopes)?int [][]arr = new int[][] { {3,4,6,2,},{54,4,11},{78,65,86},{56,3453,222}, {26,12253,23322},{22221,111,999},{71,1,12} };
arr.length = 7 arr[0].length = 4 arr[1].length = 3 arr[2].length = 3 arr[3].length = 3 arr[4].length = 3 arr[5].length = 3 arr[6].length = 3
Jetzt klar?
-
Problematisch wird es pro Dimension die Elemente zählen zu lassen.
Ich vermute bei 2 Dimension ohne unendlich viele Scopes lässt es sich einfacher machen als bei 9 Scopes eines 2dimensionalen Arrays.Auf alle Dimensionen bezogen ist es einfach zählen zu lassen (arr.length), aber nur die Elemente einer einzelnen Dimension, halte ich nicht für so einfach.
Auch wenn es Bockmist ist nach dem Motto :
arr[].length // Elementeanzahl erste Dimension
arr[][].length // Elementeanzahl zweite Dimension
-
Ich verstehe deine Frage nicht.
int[][][] array = { /*0.*/ {/*0.*/ {1,2,3,4,}, /*1.*/ {1,2,3,4,}, /*2.*/ {1,2,3,4,}}, /*1.*/ {/*0.*/ {1,2,3,4,}, /*1.*/ {1,2,3,4,}, /*2.*/ {1,2,3,4,}}, /*2.*/ {/*0.*/ {1,2,3,4,}, /*1.*/ {1,2,3,4,}, /*2.*/ {1,2,3,4,}}}; firstDim = array.length; // 3 for ( int[][] a1 : array ) { secondDim = a1.length; // 3, 3, 3 for ( int[] a2 : array ) { thirdDim = a2.length; // 4, 4, 4, 4 } }