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...