2 dimensionales Stringarray

Hallo,
ich möchte ein 2D-StrArr definieren, das
in y Richtung (also in -> Richtung) 5 Elemente
enthält, aber nach unten (also x) unbestimmt ist.
Dann will ich meine InitialWerte aus einer Texdatei
auslesen und in das Array einfügen.

  1. Frage)
    Wie definiere ich solch ein Array? Ist das
    so richtig? String 2dArr [][] = new String [5][];

  2. Frage)
    Wie weise ich hier Werte zu? Wird es so gemacht?
    2dArr[0][0]= „a 0,0“;
    2dArr[0][1]=„a 0,1“;

    2dArr[5][10]=„a 5,10“;

3.) Frage
Wie lese ich nun die Werte aus?
System.out.println(2dArr[0][1]); //???

Vielen Dank für Eure Hilfe.
Gruss
Fabian

Hi

so richtig? String 2dArr [][] = new String [5][10];

Benenne die Variable um, also ohne Zahl!
Du solltest der 2. Dimension auch einen Wert zuweisen.
Achte darauf, dass die Zahl in der eckigen Klammer die
Anzahl der Elemente angibt. Der Index laeuft dann aber
von 0 bis Anzahl-1, also in diesem Fall von 0 bis 4 bzw.
0 bis 9.

Wie weise ich hier Werte zu? Wird es so gemacht?
dArr[0][0]= „a 0,0“;
dArr[0][1]=„a 0,1“;

dArr[5][10]=„a 5,10“;

Grundsaetzlich schon, aber beim letzten stimmen
die Indices nicht (s.o). Sollte heissen myArr[4][9] = …
sonst ArrayIndexOutOfBoundsException.

Wie lese ich nun die Werte aus?
System.out.println(dArr[0][1]); //???

Zum Beispiel.

Gruss
Patrick

Hi

so richtig? String 2dArr [][] = new String [5][10];

Benenne die Variable um, also ohne Zahl!
Du solltest der 2. Dimension auch einen Wert zuweisen.
Achte darauf, dass die Zahl in der eckigen Klammer die
Anzahl der Elemente angibt. Der Index laeuft dann aber
von 0 bis Anzahl-1, also in diesem Fall von 0 bis 4 bzw.
0 bis 9.

damit haette man dann aber einen in beiden dimensionen eingeschraenkten array. so wie ich das verstanden habe sollte der array in einer dimension dynamisch sein, also je nach notwendigkeit die groesse bestimmt werden. ich glaube auch, dass dies nicht durch eine einfache arraydeklaration geht. wenn ich mich recht erinnere gibt es da eine klasse, die sowas in der richtung kann:

String einDArr[] = new String[5];
ArrayList dummi = new ArrayList();
//ist in java.util;
//einDArr mit Werten füllen
dummi.add(einDArr);
.
.
.
int size = dummi.size();
String zweiDArr[][] = new String[5][size];
dummi.toArray(zweiDArr);

wichtig ist, dass die elemente in einer ArrayList immer vom gleichen typ sind!!!

wenn dies nicht funktioniert, solltest du dir eine holder klasse bauen (mit dem stringarray bekannter laenge) und die arrayliste in einen array aus dieser klasse umwandeln.

der jan

geht gut.
Vielen dank