Wie man Zeichen aus einer Zeichenfolge verwenden string-tokenizer in java
Ich habe einen komplexen string-und die brauche ich nur, um jeden char in diesem string eins nach dem anderen.
Hier was ich gemacht habe, aber an einer Stelle bin ich immer beide /( ich weiß, was, weil es ist kein Trennzeichen zwischen Ihnen. Wie kann ich das umgehen?
Hören ist mein string : 3 + 4 * 2 /( 1 - 5 )
Mein code:
StringTokenizer tokenizer = new StringTokenizer(mathExpression , "+-x/()");
StringTokenizer tokenizer2 = new StringTokenizer(mathExpression , "123456789");
while (tokenizer.hasMoreElements()) {
System.out.println(tokenizer.nextToken());
}
while (tokenizer2.hasMoreElements()) {
System.out.println(tokenizer2.nextToken());
}
Ausgabe :
3
4
2
1
5
+
x
/(
-
)
- Was ist der Wert für mathExpression ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://docs.oracle.com/javase/6/docs/api/java/util/StringTokenizer.html
Keine Notwendigkeit, das Rad neu zu erfinden. Sie können einfach verwenden Sie
(String#getChars()
oder(String#toCharArray()
.toCharArray
ist übersichtlicher, ja.Warum verwenden Sie einen
StringTokenizer
? Einfach DurchlaufenString
:Wenn Sie nicht direkt daran interessiert, einzelne chars, aber wollen, um alle von Ihnen auf einmal, Sie können auch eine Anfrage
char[]
aus dem string:(Beachten Sie, dass die Rücksendung eine Kopie der
String
-interne char-array, also, wenn Sie nur wollen, um die Bearbeitung einzelner chars, die erste Methode, die vielleicht weniger Speicher - und performance-intensiv ist).String.getChars()