Die Eprog.jar ist eine Funktionsbibliothek, die Informatik-Studenten auf der TU Wien Einführung in die Programmierung erleichtern soll. Tatsache ist, dass es hier möglicherweise das eine oder andere Problem gibt. Dieser Artikel beleuchtet den "rückgewonnenen" Quellcode.
readWord | |
---|---|
Readword ist meiner Meinung nach die mit Abstand interessanteste Eprog-IO Funktion. Wärend man sich die Fixkommadarstellung zur Not selber basteln kann (auch das ist nicht gerade eine Fingerübung), tut man sich bei readWord als Einsteiger vermutlich ein bisserl schwerer. Deshalb hoffe ich auch, dass wir gemeinsam durch diesen Sourcecode endlich den Grund für die diversen "Programmhänger" feststellen und entkräften können. 145 public static String readWord() { |
Beschreibung | |
---|---|
Anmerkung: 153 - 163 waren Labels und Gotos; ich hoffe, sie richtig "übersetzt" zu haben. Gegen Ende des Artikels findet sich das "Original". Bitte Korrekturen im Kommentarbereich vermerken! 153 Treibende Kraft hinter readWord ist readChar, welches uns Zeichen für Zeichen liefert. Tatsache ist, dass es manchmal -- zumindest bei den EPROG-Übungen -- eben genau das nicht mehr tut. is ist übrigens unser InputStreamReader aus dem Hauptprogramm: 254 static InputStreamReader is; Aus der read-Dokumentation: Returns: The character read, or -1 if the end of the stream has been reached Die Schleife wird somit bis "End of Stream" durchlaufen. In der Theorie. 156-160 Sollte das eingelesene Zeichen kein Leerzeichen, Tabulator oder ähnliches sein, siehe auch isWhiteSpace Dokumentation, haben wir ein "abspeichernswertes" Zeichen gefunden. Unser flag wird dadurch 1, wir haben also in Summe schon mindestens ein Zeichen eingelesen. Mit stringbuffer.append(c) hängen wir das Zeichen an unserem Zwischenergebnis an und gehen in der Schleife weiter (mit continue). Die nächsten Anweisungen werden somit nicht ausgeführt! 161-162 bekamen wir von unserem InputStreamReader hingegen ein Whitespace, stellt sich die Frage: Ist im stringbuffer schon etwas sinnvolles drinnen? Ja: Wir sind fertig. Nein: Wir lesen weiter. |
Zusammenfassung readWord | |
---|---|
Wieso sich das Ding aufhängt, ist mir nicht klar. Möglicherweise liefert read bei EOF kein -1? Müsste man ausprobieren. |
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