Oft genug hat man einen String, in dem nach gewissen Zeichen getrennte Dinge drinnen stehen. Sei es ein Datum, durch . getrennt. Oder auch ein zu berechnender Term mit Operationen der Art +, -, *, etc. Der JAVA StringTokenizer zerlegt solche Zeichenketten mühelos und spart viel Arbeit.
Trennzeichen mit spezieller Bedeutung (zB Operanden) | |
---|---|
Bis jetzt haben wir nur einen der drei Konstuktoren des StringTokenizers beachtet. Der erste ist relativ uninteressant, da trivial. Aus der Dokumentation: The tokenizer uses the default delimiter set, which is " \t\n\r\f" Wesentlich gewinnbringender ist der dritte Fall; hier bekommen wir nämlich auch die Trennzeichen als Token zurück. |
Erklärung: Einfacher Berechner | |
---|---|
26-27 Hier verwenden wir den dritten Constructor, der auch die Operanden zurückgibt. |
Beispiel: Einfacher Berechner | |
---|---|
Die Trennzeichen könnten zB Addition, Subtraktion, etc. sein. Ich habe hierfür ein ganz schlichtes Berechnungsprogramm zusammengestellt, welches nur Addieren und Subtrahieren kann. Damit spar ich mir die Prioritäten a la Multiplikation bindet stärker als Addition. Mit etwas nachdenken sollten aber auch diese kein Problem sein. 26 StringTokenizer st=new |
Erklärung: Einfacher Berechner | |
---|---|
26-27 Hier setzen wir wie besprochen den dritten Constructor ein. Dadurch erhalten wir auch Tokens der Art "-" und "+". 35 und 56 Ein Trick: Ich lasse nur Terme zu, bei denen sich Operand und Wert abwechseln. Das Prüfe ich mit einem Boolean-Wert namens op. Im Anhang das komplette Listing. 39-50 hier findet die eigentliche Berechnung statt. Je nach zuvor eingelesener Operation addieren oder subtrahieren wir. |
Comments - Make a comment |
The comments are owned by the poster. We are not responsible for its content. |
AdministrativeTexts
updated by freddiemac1993, 2013-06-14
wiki
Re: adventures
created by brittdavis10, 2012-02-23 (1 rply, 3 views)
thread
Re: how to run phpwebsite...
created by alexander, 2011-08-25 (2 rpls, 3607 views)
thread
Re: Forum tags
created by HaroldFaragher, 2011-08-22 (3 rpls, 8488 views)
thread