Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Postfix Evaluation The reason to convert infix to postfix expression is that we

ID: 3803052 • Letter: P

Question

Postfix Evaluation

The reason to convert infix to postfix expression is that we can compute the answer of postfix expression easier by using a stack.

•For example:

•For a postfix expression: 10 2 8 * + 3 -

•We can use stack to solve it

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Create a class with two methods:
•a method named : public static int postfixEvaluate(String s)
•Parameter s is the a postfix expression: all the numbers are int, operators are from +, -, / *,
•The method should return the results
•main method which is used to test the postfixEvaluate(String s)
•Test case:
•"6 8 2 / 1 - *“
•"8 5 * 7 4 2 + * +“
•"2 3 + 4 5 * +"

Explanation / Answer

import java.util.*;

public class Postfix_Main{

public static void main(String []args){
System.out.println(postfixEvaluate("6 8 2 / 1 - *")); // 18
System.out.println(postfixEvaluate("8 5 * 7 4 2 + * +")); // 82
System.out.println(postfixEvaluate("2 3 + 4 5 * +")); // 25
  
}

public static int postfixEvaluate(String exp) {
      Stack<Integer> s = new Stack<Integer> ();
       Scanner tokens = new Scanner(exp);
      
       while (tokens.hasNext()) {
           if (tokens.hasNextInt()) {
               s.push(tokens.nextInt());
           } else {
               int num2 = s.pop();
               int num1 = s.pop();
               String op = tokens.next();
              
               if (op.equals("+")) {
                   s.push(num1 + num2);
               } else if (op.equals("-")) {
                   s.push(num1 - num2);
               } else if (op.equals("*")) {
                   s.push(num1 * num2);
               } else {
                   s.push(num1 / num2);
               }
              
           // "+", "-", "*", "/"
           }
       }
       return s.pop();
}
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote