Probleme bei Array füllen

Status
Nicht offen für weitere Antworten.

Fry

Aktives Mitglied
Hallo 🙂

ich habe hier eine Frage, die bestimmt ganz trivial ist, aber ich sehe es einfach nicht.

Code:
BufferedReader reader = new BufferedReader(new InputStreamReader(getUrl().openStream()));
			
			int i = 0;

			boolean done = false;
			
			while(!done)
			{
				String line = reader.readLine();
				if(line == null)
					done = true;
				else
				{
					//Die Zeile vom Lesen aufsplitten...
					String[] tempA = line.split("\\t");
				
					//...und in temporäres Array füllen
					for(int j = 0; j < getNumbersOfColumns(); j++)
					{
						aArray[i][j] = tempA[j];
					}
					
					i++;
				}
				
			}

Ablauf:

- Zeile aus BufferedReader holen und mit split in ein Array umwandeln
- dieses 1D Array in die eine Zeile eines 2D Arrays schreiben
- die "Y-Koordinate" des Array um eins hochzählen
- solange das wiederholen, bis die im BufferedReader nichts mehr vorhanden ist

Das Codestückchen funktioniert auch, allerdings wirft es ganz im letzten Durchgang eine ArrayIndexOutOfBoundsException. Mir ist schon klar was das für ein Fehler ist, aber ich sehe diese Verletzung nicht :shock:
Es wird immer korrekt bis zum Ende gezählt, im letzten Schritt meine ich aber das auf das Element array.length bzw. getNumbersOfColumns zugegriffen wird. Das Array hat die Länge X und wird bei jeder Zeile bis X-1 angesprochen, der letzte Durchgang muss aber auf X zugreifen, aber ich sehs net...

P.S. :getNumberOfColumns gibt die Anzahl der Spalten zurück, diese sind identisch zu tempA.length.

Danke für Hilfe
Fry
 
und was ist mit der zählvariable i ? check mal deine exakte meldung - wenn du mit j innerhalb der grenzen bleibst, bleibt ja nur i 😉

Bzw. hat die zweite Dimension von dem einen Array auch die passende Größe ? Nicht das du dich in tempA innerhalb der grenzen befindest und in dem andern Array nicht.
 
hi 😀

Oh man, ich hatte beim initialisieren vom Array die Variablen verdreht :lol:

Sry aber trotzdem thx!
Fry
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben