lisali
Erfahrenes Mitglied
Hallo,
ich bin gerade dabei Java zu lernen und möchte gerne folgende Aufgabe lösen:
Könnte mir vielleicht jemand behilflich sein und mir sagen wie genau ich überhaupt anfangen müsste oder könnte?
Es heißt ja, dass aller Anfang schwer ist und ich tue mir hierbei gerade total schwer und wäre echt dankbar für etwas Hilfe.
Dankeschön im Voraus!
ich bin gerade dabei Java zu lernen und möchte gerne folgende Aufgabe lösen:
Arithmetic Expression Evaluation
An important application of stacks is in parsing. For example, a compiler must parse arithmetic expressions written using infix notation. For example the following infix expression evaluates to 212:
( 2 + ( ( 3 + 4 ) * ( 5 * 6 ) ) )
We break the problem of parsing infix expressions into two stages. First, we convert from infix to a different representation called postfix. Then we parse the postfix expression, which is a somewhat easier problem than directly parsing infix.
Evaluating a postfix expression. A postfix expression is:
2 3 4 + 5 6 * * +
First, we describe how to parse and evaluate a postfix expression. We read the tokens in one at a time. If it is an integer, push it on the stack; if it is a binary operator, pop the top two elements from the stack, apply the operator to the two elements, and push the result back on the stack. Program Postfix.java reads in and evaluates postfix expressions using this algorithm.
Converting from infix to postfix. Now, we describe how to convert from infix to postfix. We read in the tokens one at a time. If it is an operator, we push it on the stack; if it is an integer, we print it out; if it is a right parentheses, we pop the topmost element from the stack and print it out; if it is a left parentheses, we ignore it. Program Infix.java reads in an infix expression, and uses a stack to output an equivalent postfix expression using the algorithm described above.
Könnte mir vielleicht jemand behilflich sein und mir sagen wie genau ich überhaupt anfangen müsste oder könnte?
Es heißt ja, dass aller Anfang schwer ist und ich tue mir hierbei gerade total schwer und wäre echt dankbar für etwas Hilfe.
Dankeschön im Voraus!