Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe einen zweidimensionalen array test[][]. ich sage new test[columns][rows].
wie kann ich von der variable test aus "columns" oder "rows" rauskriegen?
int columns = 10;
int rows = 10;
String[][] test = new String[columns][rows];
//Mach irgendwas
System.out.println(test.length);
//Gibt die länge der ersten Dimension des Arrays aus
System.out.println(test[0].length);
//Gibt die länge einer der zweiten Dimensionen des Arrays aus
Das Problem ist, dass es in Java keine echten mehrdimensionalen Arrays gibt, es gibt nur Arrays von Arrays und eben diese Schreibweise, die ein Array von Arrays initialisiert, in dem jede Spalte gleich viele Zeilen enthält. Du könntest aber zum Beispiel schreiben:
Java:
String[][] test = new String[columns][rows];
test[0] = new String[rows+1];
Damit hätte deine erste Spalte eine Zeile mehr. Deshalb gibt es keine Methode "getLength(int dimension)" oder etwas ähnliches.
Zum Vergleich: in C# gibt es zusätzlich mehrdimensionale Arrays, sie werden deklariert mit
Java:
string[,] test = new string[columns,rows];
Console.WriteLine(test.GetLength(0)); // columns
Console.WriteLine(test.GetLength(1)); // rows
Edit: Vorsicht, offtopic: Ich merk grade - wäre es nicht viel logischer, die Zahlen in den [a] genau andersrum anzugeben? String[a] ist ja ein Array der Länge a das Arrays der Länge b enthält, sozusagen ein (String)[a] ???:L
Edit: Vorsicht, offtopic: Ich merk grade - wäre es nicht viel logischer, die Zahlen in den [a] genau andersrum anzugeben? String[a] ist ja ein Array der Länge a das Arrays der Länge b enthält, sozusagen ein (String)[a] ???:L
Darüber haben wir gemeinschaftlich schonmal irgendwo in der Plauderecke o.ä. tagelang rumgestritten (Link find ich nicht mehr) Die mehrdimensionalen Arrays sind von der Syntax her eben nicht einfach aufeinandergestapelte 1D-Arrays, stattdessen scheinen die dimensionen in der exakt umgekehrten reihenfolge angegeben zu werden. Man sollte drüber lieber nicht nachdenken: das tut weh^^ ArrayLists verwenden reicht.