skip to main content

kiesler.at

Spaziergang durch einen Einheitenberechner
updated by rck, 2004-10-10

Der Ernstfall ist eingetreten. EPROG. Drei Beispiele, eines schlimmer als das andere. Zu allem Überfluss sind die mitgelieferten "Unterstützungsprogramme" mehr ein Klotz am Bein als sonst was.

Wie geht's weiter, wenn kein Stein und kein Seil verfügbar ist, das einen den Weg in die Donau begleiten könnte?

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13

Die Strategie

Ich persönlich habe mit der Top-Down Strategie ausgezeichnete Erfahrungen gemacht. Das heißt: Wir überlegen uns die Lösung grob, auf abstrakter Ebene. Und werden dann immer konkreter und detailierter, bis wir die Aufgabenstellung erfüllt haben.

Hauptroutine

Beginnen wir also beim gelösten Programm von hinten. Das Hauptprogramm ist sehr kurz. Angenehmer Weise ist nämlich die eigentliche Berechnungsroutine dadurch auch als Funktion verwendbar.

Heißt: Wenn wir mal auf die Schnelle einen String wie gewünscht berechnen wollen und dieser kommt zB aus einer Datei oder aus dem Speicher: kein Problem, wir rufen dafür einfach die folgende Funktion auf.

287         public static void main(String[] args) {
288                 // EprogIO.readln gibt's leider keins,
289                 // readWord() funktioniert nicht& so wirklich...
290                 //
291                 InputStreamReader ins=new InputStreamReader(System.in);
292                 BufferedReader reader=new BufferedReader(ins);
293 
294                 try {
295 
296                         EprogIO.println(berechne(reader.readLine()));
297 
298                 } catch(Exception e) {
299                         EprogIO.println(ERROR);
300                 }
301         }

Beschreibung Hauptroutine

291-292: Wir bereiten das Lesen einer Zeile vor. Dafür verwende ich hier den BufferedReader; die EPROG-Klassen haben ein Problem, wenn bei ReadWord ein Zeilenende eingelesen wird. Sie hängen sich dann einfach auf!


294-300: Hier lesen wir eine Zeile ein. Genau eine. Sollte das nicht klappen, gibt's einen EPROG-ERROR.

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13



RSSComments - Make a comment
The comments are owned by the poster. We are not responsible for its content.
RSSAll Articles
2008, 2007, 2006, 2005, 2004