Array of String Array

stefnatz

Grünschnabel
Hi

Mein Problem.
Hab ein Array of Strings in dem 10 Strings liegen die etwa so aufgebaut sind

strHigh[0] ==> 1.;56;Mustermann;1.12min;10.12.2009
strHigh[1] ==> 2.;58;Mustermann;1.56min; 01.01.2009
...

Das ganze soll eine Highscoreliste darstellen.
Um die einzelnen Teile der enthaltenen Strings zu nutzen muss ich sie immer am ; teilen.
Hab mir das so gedacht:
Code:
for (int x = 0; x < strHigh.length; x++){
	  highscoreZeilen[x] = strHigh[x].split(";");
   }

highscoreZeilen ist ein 2dimensionales Array
Code:
String[ ][ ] highscoreZeile = null ;

Funktioniert aber nicht. bekomme eine NullpointerExeption
Ich hoffe hab mein Problem verständlich dargestellt

Danke nafetS
 
highscoreZeilen ist ein 2dimensionales Array
Code:
String[ ][ ] highscoreZeile = null ;
Funktioniert aber nicht. bekomme eine NullpointerExeption

Moin,

nur mal so auf die Schnelle:
wenn Dein Array zweidimensional ist, dann solltest Du es aber auch so ansprechen (!):eek::p

Aber meine aber, dass die Split-Funktion immer nur ein eindimensionales Array zurück gibt, oder ?

Gruß
Klaus
 
Zuletzt bearbeitet:
Danke für die schnelle Hilfe

ja. split liefert ein eindimensionales Array zurück deshalb dachte ich ich muss bei highscoreZeilen nur ein teil angeben.

Funktioniert leider mit deiner Lösung nicht
 
Hallo

weil in strHigh schon 10 Strings liegen die ich noch weiter zerteilen will/muss.
Brauche am Ende ein 2 dimensionales Array in dem die 10 Strings aus strHigh aufgeteilt abgespeichert sind

gruß nafetS
 
du brauchst zwei Arrays. Ein eindimensionales für deine Ausgabestrings und ein zweidimensionales, wo du deine gesplitteten Arrays als unter-Array's reinschreibst.
 
Genau, so wie es Vereth beschrieben hat :)

Du splittest ja jeden einzelnen Deiner 10 Strings in jeweils n Teile --> dieses Ergebnis steht dann in "highscoresZeilen[x]"
Also brauchst Du nun noch ein zweites Array, dass diese 10 Ergebniss-Arrays aufnimmt (kann auch ein Vektor, eine Map etc. sein) (!)

Gruß
Klaus
 
Danke für die schnellen Antworten habs jetzt auch hin bekommen.
Wenn man dem 2 dimensionalen Array gleich die größe mit gibt geht wie ichs geschrieben hab

Code:
String[][]highscoreZeile = new String[10][5];
for (int x = 0; x < strHigh.length; x++){
	 highscoreZeile[x] = strHigh[x].split(";");
   }

Teste jetzt mal noch mit 2 getrennten Arrays. Wäre eleganter ohne größen vorgabe

gruß nafetS
 
Die 5 kann weggelassen werden, weil jedes Unterarray seine eigene Länge haben darf, und statt der 10 kannst du den length-Wert von strHigh verwenden. Damit hast du das Array schon definiert, nur die Unterarrays sind undefiniert, aber die werden in der Schleife zugewiesen. Du kannst also schreiben:
Java:
String[][]highscoreZeile = new String[strHigh.length][];
for (int x = 0; x < strHigh.length; x++)
{ highscoreZeile[x] = strHigh[x].split(";"); }
 
Zuletzt bearbeitet:
Zurück