2017-04-22 1 views
1

Ich versuche herauszufinden, wie Tokens aus einer TXT-Datei (die aus Buchstaben/Zahlen bestehen, die keinen Abstand zu ihnen haben) genommen und zu a hinzugefügt wird Array.Hinzufügen von "Token" zu einem Array

Meine Array wie diese

eingerichtet ist
private String[] arrayOfTokens; 

Die txt-Datei wie diese gerade

10 tewnty 30.5 star-fish -5 
1 two 3 
4 five 6 seven 
jello 9 hike 5 
10 9 8 7 6 5 4 3 2 1 

liest klar zu sein, die erste Zeile 5 Token haben würde ("10", "zwanzig" "30,5", "Sternfische" und "-5") und der zweite würde 3 ("1", "zwei" und "3") haben. Eines der Dinge, die mich jedoch abwerfen, ist dass es das sagt ... "Die erste Textzeile würde zu den fünf Tokens führen an den Orten [0] [0], [0] [1], [0] [2], [0] [3] und [0] [4] gespeichert werden. Die zweite Textzeile würde dazu führen, dass die drei Tokens an den Speicherorten [1] [0], [1] [1] und [1] [2] gespeichert werden. "Es sagt nur, dass ich ein Array brauche, also nicht sicher, worum es geht.

Ich habe einfach online nach ein paar Dingen gesucht, aber was ich gefunden habe, steckt die ganze txt-Datei in ein Array, ich versuche nur die Token hinzuzufügen auf der richtigen Spur?

+0

Sie benötigen ein zweidimensionales Array oder, genauer gesagt, ein Array von Arrays. Wenn der Zuweisungstext explizit sagt, dass "genau ein Array benötigt wird", dann ist die Formulierung der Zuweisung falsch und die Übung, wie gegeben, nicht lösbar, insbesondere, da Sie zerlumpte Arrays benötigen. Sie finden die Grundlagen in [dieses Orakel-Tutorial] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html). – Turing85

+1

oh geez. Lassen Sie mich etwas Forschung darüber gehen, was das ist lol .. –

+0

hmmm es sagt "Speichern Sie das Token gefunden auf jeder Textzeile in einem 2D-Array. Dieses 2D-Array muss String-Objekte speichern." was zu der Annahme führt, dass es nur ein Array ist –

Antwort

-1

Sie können ein gezacktes Array verwenden, um das Problem zu lösen Ein gezacktes Array ist ein Array, dessen Elemente Arrays sind, aber die Dimensionen und Größen können unterschiedlich sein Hier ist ein Code, den Sie ausprobieren können:

int numberOfLineOfTheFile; /* put the number of line of your file here */ 
String[][] tokens = new String[numberOfLineOfTheFile][]; 
String[] arrayOfTokens; 

try (BufferedReader br = new BufferedReader(new FileReader(file))) { 
    String line; 
    int i = 0; 
    while ((line = br.readLine()) != null) { 
     arrayOfTokens = line.split(" "); 
     tokens[i++] = arrayOfTokens; 
    } 
} 
+1

Code-only-Antworten werden abgeraten. Bitte fügen Sie eine Erklärung zu Ihrer Antwort hinzu. Außerdem hat OP nicht nach einer kopierfertigen Antwort gefragt, sondern nach einigen Erklärungen/Hinweisen, um sie in die richtige Richtung zu bringen. EDIT: Nein, ich habe deine Antwort nicht abgelehnt. – Turing85

Verwandte Themen