skip to main content

kiesler.at

eprog.jar
updated by rck, 2006-03-27

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.

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8

Klassen- und Funktionsübersicht

Wir haben zwei Klassen. Wärend die EprogException.class gerade mal eine spezialisierte Exception ist, enthält die EprogIO.class zahlreiche Methoden für den Hausgebrauch.

Was eine Exception ist? Nichts anderes als ein spezieller Zustand, in den ein Programm verfallen kann. Wird gerne für die Fehlerbehandlung eingesetzt. Habe ich ganz kurz im Einheitenberechner beschrieben.

Mit einer eigenen Exceptionklasse kann man nun ganz einfach unterscheiden, ob es sich um eine allgemeine, oder eben eine EprogException handelt.

EprogIO.class

Ausgabefunktionen

Wir zählen 12 Ausgaberoutinen mit Zeilenvorschub und 12 Ausgaberoutinen ohne Zeilenvorschub. Ich liste hier die ohne Zeilenvorschub an, für die mit einfach ein "ln" anhängen.

  1. void print()
  2. void print(String s)
  3. void print(boolean flag)
  4. void print(byte byte0)
  5. void print(short word0)
  6. void print(int i)
  7. void print(long l)
  8. void print(float f)
  9. void print(double d)
  10. void printFixed(float f)
  11. void printFixed(double d)

Umwandlungsfunktionen

Wir haben außerdem zwei nützliche Funktionen zur Umwandlung von float respektive double in Fixed Darstellung. Auffällig dabei: Der Code wird für print(float) nicht recyclet, sondern nochmal hingeschrieben. Ob das am Disassembler liegt oder am Programmierer ist mit nicht klar.

Die dazugehörigen Methoden heißen

  • String toFixed(double d)
  • String toFixed(float f)

und bringen, genau wie die printFixed Methoden, Fließkommazahlen in eine Form mit drei Nachkommastellen.

Eingabefunktionen

Das interessante an der EprogIO sind vor allem die Eingaberoutinen. Für jeden der vorher erwähnten Datentypen gibt es auch eine Einlesefunktion.

Herausstechen tut hier die Methode readWord(), auf die die meisten anderen Routinen zugreifen. Sie liest ein durch Leerzeichen beschränktes Wort ein.

Davon abgesehen gibt es noch:

  • boolean readBoolean()
  • byte readByte()
  • short readShort()
  • int readInt()
  • long readLong()
  • float readFloat()
  • double readDouble()

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8



RSSComments - Make a comment
The comments are owned by the poster. We are not responsible for its content.
  • EOF

    Posted on 2004-06-10 01:58:11 By Anonymous

    Hab readWord jetzt mal zu einem alleinstehenden Programm abgeändert und ein paar Ausgaben reingetan. Und siehe da: bei EOF liefert println (c) ein Fragezeichen. Natürlich steht in c nicht wirklich ein Fragezeichen, das wird nur von println so gemacht. EOF ist nämlich in unicode nicht definiert!!! Ein einfaches Character.isDefined (c) löst das Problem!

    [Reply ]

    • Re: EOF

      Posted on 2004-06-10 17:20:47 By rck[110]

      changed On 2004-06-10 17:21:41 Edited By rck (reason: )

      Du meinst also, da gehört ein Check auf "?" (wobei für ? das EOF-Zeichen einzusetzen ist) und nicht auf -1?

      [Reply ]

RSSAll Articles
2008, 2007, 2006, 2005, 2004