Dynamische Arrays und substring
-
Hallo Leute,
ich habe zwei Fragen, die sich auch nicht hinreichend durch google beantworten ließen.
Zum einen:
zeile = zeile.substring( 0, zeile.indexOf('*'));Ich lese eine Textdatei ein und möchte nur alles bis zum * beachten.
Deshalb möchte ich den Rest einfach abschneiden (da '*' wie Javas '//' ein Kommentar einleiten). Nun habe ich aber nicht in jeder Zeile ein Kommentar stehen, weshalb er mit einem Fehler abbricht.* Kommentar Lorem ipsum * Kommentar noch mehr text * Kommentar * Kommentar Hier meldet er ein Fehler, da kein Sternchen vorhanden * Kommentar
Des weiteren möchte ich ein 2D-Array erzeugen. Eine Dimension ist immer fest, die andere ist aber davon abhängig wieviele Zeilen in der Textdatei mit dem Zeichen # anfangen. Zum Beispiel für diese Datei:
# 1 2 3 # 4 5 6
Soll ein Array erzeugt werden, welches immer 3 Elemente "nach rechts geht",
aber die Zeilenanzahl erstmal unbekannt ist (in diesem Beispiel sind es ja gerade 2). Also int[][] x = new int[2][3];
Ich möchte aber den Code nicht immer an die Textdatei anpassen - er soll es halt dynamisch feststellen.
Mir sind Listen (ArrayList) bekannt. Kann man es aber nicht mit normalen 2D Arrays erstellen? Vielleicht gibt es da ein Trick.Liebe Grüße wade.
-
Entschuldigt bitte.
Nach dem Absenden ist mir die Antwort zu Frage 1 selbst klar geworden.
Ich kann vorher überprüfen ob zeile.indexOf('*'); ein -1 zurückliefert und diese Zeile dann überspringen.Bei dem Array stehe ich aber immernoch auf dem Schlauch.
-
Die ArrayList ist vorzuziehen, aber egal ob List oder Array:
Pack die 3 Werte doch einfach in eine kleine Klasse
class Values { int v1; int v2; int v3; } ArrayList<Values> // bzw Values v[] = new Values[2];