A
alex0801
Gast
Servus,
folgende Problemchen:
ich hab ein 2-dimensionales String-Array von dem ich die Länge der ersten Dimension bestimmen muss. Die zweite Dimension hat eine feste Größe. Das dumme ist das Array wächst im Laufe des Programms (erstelle mittels Hilfsarray ein um +1 größeres Array).
Hintergrund:
Ich soll einen Lisp-Interpreter schreiben. Die Sprache Lisp sieht aber vor daß man auch Variablen definieren kann. Und eben diese Variablen müssen zusammen mit ihrem Wert irgendwo gespechert werden.
Ok, ich könnte eine extra Klasse machen von denen ich Paar-Objekte erstelle (die dann die Variable und den dazugehörigen Wert enthalten) und das dann in eine Array-List packen. Aber die Aufgabe sieht es vor daß man sich an ein bestehendes Konstrukt hält das keine weitere Methode vorsieht.
Da es keine obere Grenze für Variablen im Lisp-Interpreter gibt muss sich das ganze eben ausbauen lassen. Eine icht ganz feine, aber dennoch einfache Art wäre die schon eben genannte Methode mit dem Hilfsarray und dem umkopieren in ein neues, größeres Array.
Nur komm ich nichtmehr dahinter wie ich die größe der ersten Dimension raus bekomme. Folgendes hab ich bereis getestet:
wobei alist mein zweidimensionales Array ist (alist[][])
Als Fehler bekomme ich hier:
"Syntax error on token "[", Expression expected after this token"
Vielleicht kann mir jmd kurz auf die sprünge helfen. Hab das Gefühl ich seh den Wald vor lauter Bäumen nicht.
- Alex
folgende Problemchen:
ich hab ein 2-dimensionales String-Array von dem ich die Länge der ersten Dimension bestimmen muss. Die zweite Dimension hat eine feste Größe. Das dumme ist das Array wächst im Laufe des Programms (erstelle mittels Hilfsarray ein um +1 größeres Array).
Hintergrund:
Ich soll einen Lisp-Interpreter schreiben. Die Sprache Lisp sieht aber vor daß man auch Variablen definieren kann. Und eben diese Variablen müssen zusammen mit ihrem Wert irgendwo gespechert werden.
Ok, ich könnte eine extra Klasse machen von denen ich Paar-Objekte erstelle (die dann die Variable und den dazugehörigen Wert enthalten) und das dann in eine Array-List packen. Aber die Aufgabe sieht es vor daß man sich an ein bestehendes Konstrukt hält das keine weitere Methode vorsieht.
Da es keine obere Grenze für Variablen im Lisp-Interpreter gibt muss sich das ganze eben ausbauen lassen. Eine icht ganz feine, aber dennoch einfache Art wäre die schon eben genannte Methode mit dem Hilfsarray und dem umkopieren in ein neues, größeres Array.
Nur komm ich nichtmehr dahinter wie ich die größe der ersten Dimension raus bekomme. Folgendes hab ich bereis getestet:
Code:
int laenge=alist[].length();
wobei alist mein zweidimensionales Array ist (alist[][])
Als Fehler bekomme ich hier:
"Syntax error on token "[", Expression expected after this token"
Vielleicht kann mir jmd kurz auf die sprünge helfen. Hab das Gefühl ich seh den Wald vor lauter Bäumen nicht.
- Alex