Hallo,
ich bastle gerade an einem Programm für Schaubilder. Der Benutzer gibt eine Zuordnungsvorschrift ein, und das Applet gibt das entsprechende Schaubild aus.
Bislang habe ich zum Zeichnen eines Funktionsgraphen eine vordefinierte Methode benutzt. Um eine neues Schaubild zu erhalten muss man immer wieder neu kompillieren. Bislang habe ich ja an der grafischen Realisierung interessiert.
Jetzt muss ich ein System finden, mit dem es möglich ist, aus einer Zeichenkette eine Zuordnungsvorschrift zu machen. Hier ist ein Beispiel dieser Zeichenkette.
ord = y;
abs = x;
var a = 10;
var b = 2;
f: ord = (2 * a) ^ b;
dieser Code muss in ein TextArea eingetippt werden und bedeutet soviel wie:
Ordinate heisst y;
Abszisse heisst x;
Variable a = 10;
Variable b = 2;
Der Graph der Funktion f wird ermittelt nach der Zuordnungsforschrift y = (2a) hoch b.
Ich muss diese Zeichenkette so umschreiben, dass der Wert später einfach mit String.toDoubleValue(); ermittelt werden kann.
Die Abszisse und die Ordinate kann man leicht abspeichern. Wie ist es aber mit Variablen. Da die Anzahl der Variablen erst zur Laufzeit des Programmes bekannt wird, muss ich für diese ein Array anlegen. Doch ist das nicht so einfach. Wie soll ich diese ansprechen? in dem Teilstring ord = (2 * a) ^ b wird nach Variablen gesucht und diese werden dann durch die Werte ersetzt. Wie geht das? Schliesslich brauche ich noch eine Lösung für das Problem mit ^ ! Ich habe eine Methode geschrieben, mit der es möglich ist, die m Wurzel aus einer Zahl zu ermitteln. Diese Methode wird wie folgt eingesetzt:
Zahl.radix(m);
wie soll ich aber diesen String passend umschreiben?
y = %m (10 - 1)
%m bedeutet die m Wurzel aus dem nächsten Ausruck. Irgendwie fehlt mir der Anfang.
====================================================================
Was ich nun erwarte ist kein Code sondern ein leicht erweiterbares System.
Vielleicht hat jemand schon so eine Bibliothek gemacht.
Ich hoffe, dass ihr mir helfen könnt.
Gruß Dmitri