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

berechne(int, int)

Wenn ich nicht gerade von polymorphen Haustieren träume, die bellen und miauen, versuche ich den Polymorphismus, die Vielgestalt, gewinnbringend zu nutzen.

Wir sehen: berechne(String) berechnet einen String. Berechne(int, int) tut prinzipiell das gleiche. Jedoch für einen Bereich in unserer ArrayList. Das später folgende berechne(int) führt die Berechnung in unserer ArrayList genau für die Operation an Stelle int durch.

163         public static String berechne(int von, int bis) throws Exception {
164 
165                 int i;
166 
167                 while( (i=posMulDiv(von,bis)) != -1) {
168                         berechne(i);
169                         bis-=2;
170                 }
171 
172                 while( (i=posAddSub(von,bis)) != -1) {
173                         berechne(i);
174                         bis-=2;
175                 }
176 
177                 if(bis-von>1)
178                         throw(new Exception("beim Berechnen von "+von+
179                                 " bis "+bis+" ist was übrig geblieben: "+
180                                 ArrayListRangeToString(ausdruck,von,bis)));
181 
182                 return((String)(ausdruck.get(von)));
183         }

Beschreibung von berechne(int, int)

167-170 Hier rufen wir für jede Multiplikation und Division -- wir erinnern uns an die Punkt vor Strich Regel -- berechne(int) auf.

172-175 jetzt sind die Addition und die Subtraktion dran.

177-180 da ist was schief gelaufen, wieder eine Exception!

182 wir liefern unser Ergebnis, es steht außerdem in unserer ArrayList.

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