Dmitri Rettig: Zeichenketten auswerten.

Beitrag lesen

Hi,

jetzt habe ich schon mal ein Konzept entwickelt. Znächst einmal soll das Programm im analytischen Bereich Anwendung finden, und da wird nun mal der Funktionswert f(x) von x, x zugeordnet. Aus diesem Grunde reicht ja schonmal ein TextField.

f(x) = [hier Zuordnungsvorschrift eingeben     ][zeichne]

Spart viel Arbeit.

Nun habe ich einen String:

2 * (x + 4)

Dieser String wird ohre Lehrzeichen geschrieben, dann sieht er wie folgt aus:

2*(x+4)

Jetzt nach Operatoren (?) suchen:

*+-/

gefunden, der erste ist *

linken Ausdruck suchen: 2, rechten Ausdruck suchen: ( - wenn Klammer steht, dann die schlussklammer suchen ... gefunden.

der Ausdruck ist x+4

das das ganze in einer for Schleife abläuft kann man diesen Ausdruck berechnen.

Durch Abrage nach dem Operator *+-/ ist auch die Operatioin möglich.

if (Operator == "*")
    return Ausruck1 * Ausdruck2
else if (...)
...

Allerdings hat das System auch einige Nachteile:

1. Ich weiss nicht, wie ich diese Daten verwalten [sortieren und darauf zugreifen] soll.
2. Dieses System ist sehr schwer erweiterbar [und das entspricht JAVA ansich]

Ich war schon auf WWW-Seiten sämtlicher Taschenrechnerhersteller, aber die sagen nicht, wie diese Funktionieren ;-( [KAPITALISTEN!]

Trauriger Gruß von mir...