Heim >Java >javaLernprogramm >So verwenden Sie Stack, um eine einfache Taschenrechnerfunktion in Java zu implementieren

So verwenden Sie Stack, um eine einfache Taschenrechnerfunktion in Java zu implementieren

WBOY
WBOYnach vorne
2023-05-26 10:43:062061Durchsuche

1. Ideenanalyse

Wenn wir einen einfachen Infix-Ausdruck ähnlich wie „7*2+100-5+3-4/2“ eingeben, kann unser Compiler den von uns geschriebenen Code verwenden, um diesen Ausdruck in einen Ausdruck umzuwandeln Das Ergebnis

Dieser Ausdruck enthält zwei Hauptelemente, eines ist eine Zahl und das andere ein Symbol. Dann müssen wir zwei Stapelstrukturen erstellen, um die Daten zu speichern SymbolstapelOperStack: Speichert Operatoren

  • 1 Zuerst müssen wir einen Index zum Durchlaufen unseres Ausdrucks definieren

  • 2 Wenn eine Zahl gescannt wird, wird sie direkt in den Zahlenstapel eingefügt
  • 3. Es wird in die folgenden Situationen unterteilt:

  • 3.1. Wenn der aktuelle Symbolstapel leer ist, schieben Sie ihn einfach direkt in den Stapel

3.2 Wenn der Symbolstapel einen Operator hat, muss er verglichen werden

Wenn der Wenn die Priorität des aktuellen Operators kleiner oder gleich der des Operators im Stapel ist

, müssen Sie zwei Zahlen aus dem Zahlenstapel entfernen, ein Symbol aus dem Symbolstapel entfernen, die Operation ausführen, das Ergebnis abrufen und es in den einfügen Zahlenstapel. Legen Sie dann den aktuellen Operator in den Symbolstapel ab

Wenn die Priorität des aktuellen Operators größer ist als die des Operators im Stapel, legen Sie ihn direkt in den Symbolstapel ab

4. Wenn der Ausdrucksscan abgeschlossen ist, Entfernen Sie nacheinander den Zahlenstapel und die Symbole vom Stapel. Nehmen Sie die entsprechenden Zahlen und Symbole vom Stapel und führen Sie Berechnungen durch. 5. Die letzte im Zahlenstapel gespeicherte Zahl ist das Ergebnis der Code-Implementierung

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Stack, um eine einfache Taschenrechnerfunktion in Java zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen