Ich möchte StringTokenizer
Ergebnis zu ArrayList
nehmen. Ich habe folgenden Code verwendet und in der ersten Druckanweisung stok.nextToken()
die korrekten Werte ausgedruckt. Aber geben Sie in der zweiten Druckanweisung für ArrayList Fehler als java.util.NoSuchElementException
. Wie nehme ich diese Ergebnisse zu einer ArrayList?Wie nehme ich das StringTokenizer-Ergebnis zu ArrayList in Java?
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Test {
public static void main(String[] args) throws java.io.IOException {
ArrayList<String> myArray = new ArrayList<String>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter : ");
String s = br.readLine();
StringTokenizer stok = new StringTokenizer(s, "><");
while (stok.hasMoreTokens())
System.out.println(stok.nextToken());
// -------until now ok
myArray.add(stok.nextToken()); //------------???????????
System.out.println(myArray);
}
}
Schauen Sie sich Ihre 'while' Aussage an. Wenn die Ausführung die Schleife verlässt, was bedeutet das für "stok"? – Savior
Vielen Dank für Ihre Antwort. Also, wie werde ich dieses Ergebnis zu einer ArrayList bringen? – Emalka
'stok' wurde vollständig von der while-Schleife gelesen, daher ruft '' nextToken() 'nach Abschluss der Schleife natürlich einen (end-of-data) -Fehler auf. Haben Sie vor, den 'add()' Aufruf innerhalb der Schleife zu haben? Wenn dem so ist, vermissen Sie einige {geschweifte Klammern}. Ansonsten, * was * versuchst du zu tun? Frage bearbeiten und erklären. – Andreas