3 Stimmen

einfacher rechner in java parser

Ich entwickle derzeit einen einfachen Parser für Taschenrechner in Java, der nur mit den Operatoren + und - und ganzen Zahlen arbeitet. Ich habe gelesen über Postfix y Infix Bewertung, und ich frage mich, ob Klammern mit einer dieser Methoden verwendet werden können?

5voto

polygenelubricants Punkte 362173

Das Schöne an der Postfix/Präfix-Schreibweise ist, dass Sie die Klammern NICHT brauchen. Klammern werden in der Infix-Notation verwendet, weil es Mehrdeutigkeiten gibt, z. B:

a + b - c

Dies kann eine der folgenden Bedeutungen haben:

(a + b) - c
a + (b - c)

In der Postfix-Notation sind sie jedoch eindeutig unterschiedlich:

a b + c -
a b c - +

Es besteht keine Notwendigkeit für Paranthesen/Klammern, um die Auswertungsreihenfolge in der Postfix-Notation durchzusetzen.

Siehe auch


Umwandlung von Infix

Sie können einen Ausdruck in Infix-Notation mit Paranthesen in Postfix-Notation umwandeln, wobei die Priorität der Operatoren beachtet wird. Ein solcher Algorithmus ist der stapelbasierte "Shunting-Yard-Algorithmus" von Edsger Dijkstra.

Siehe auch

0voto

bjg Punkte 7437

Wenn Sie sich nur mit den einfachen mathematischen Operatoren + und - befassen, die kommutativ sind, dann brauchen Sie sich wahrscheinlich nicht um Klammern zu kümmern, die normalerweise die Reihenfolge der Berechnungen erzwingen.

Ihr Rechner braucht nur ein einfacher Parser und Akkumulator zu sein, der Klammern ignoriert, falls vorhanden - es sei denn, ich übersehe etwas über die beabsichtigte Bedeutung der Klammern

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X