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