skip to main content

kiesler.at

Variablen mit Hashtable verwalten
updated by rck, 2004-10-03

Beispiel 1186 der EPROG-Beispielsammlung l�sst sich sehr sch�n mit einer Hashtable l�sen. Es handelt sich hierbei um eine schlichte Variablenverwaltung f�r ganzzahlige Werte.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8

process() -- Die Hauptschleife

In der Hauptschleife passiert wie gewohnt nicht viel. Wir zerlegen die Eingabe in W�rter und �bergeben diese assign. Sobald wir auf ein "?" sto�en, geben wir den passenden Wert dazu aus.

159         public static Short process(String s)
160                 throws Exception
161         {
162                 syms=new Hashtable();
163                 StringTokenizer st=new StringTokenizer(s);
164                 String wort=st.nextToken();
165 
166                 while(!wort.startsWith("?")) {
167                         assign(wort);
168                         wort=st.nextToken();
169                 }
170 
171                 if(st.hasMoreTokens())
172                         throw new Exception("Da sind noch Worte ï¿½brig!");
173                 else
174                         return(getWert(wort));
175         }

Beschreibung process()

162 bevor wir die Hashtable benutzen, m�ssen wir sie instanzieren. Damit wird unter anderem Speicher f�r die Hashtable angefordert.

163 unser alter Bekannter, der StringTokenizer, leistet auch hier wie gewohnt gute Dienste.

164-169 Solange wir kein f�hrendes ? finden, gehen wir davon aus, dass die W�rter Zuweisungen sind. Entsprechend f�hren wir diese Zuweisungen mit assign durch.

171 Bleibt am Schlu� noch was �brig, handelt es sich um einen Fehler...
172 ...und wir werfen eine Exception.

173 anderenfalls...

174 liefern wir den gew�nschten Wert zur�ck (falls er existiert).
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.
RSSAll Articles
2008, 2007, 2006, 2005, 2004