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

Implementation of Postfix notation - postfix notation is an unambiguous way of w

ID: 3889236 • Letter: I

Question

Implementation of Postfix notation - postfix notation is an unambiguous way of writing an arithmetic expression without parentheses. It is defined so that if "exp1 op exp2" is a normal fully parenthesized expression whose operation is op. the postfix version of this is "pexp1 pexp2 op", where pexp1 is the postfix version of exp1 and pexp2 is the postfix version of exp2. The postfix version of a single number or variable is just that number or variable. So, for example, the postfix version of (5 + 2) * 8 is 52+8*. Write a method converts arithmetic expression to postfix notation expression. in Java

Explanation / Answer

A method which will convert an arithmetic expression to postfix notation expression :

public String PostFix()      
   {
       String exp="expression";           //Enter any expression (Self)
        Stack s= new Stack();               // s will point to Stack
        String output = "";                   //to store Output/Result
        for(int i=0;i<exp.length();i++)       //every array/String has a length variale whose value is equal to number of elements
       {                          
            char ch = exp.charAt(i);       // charAt() function in String class in java
            if(Character.isDigit(ch)||Character.isLetter(ch))       // isDigit() and isLetter() functions are present in Character class
           {
                output = output + ch;
            }
            else if(ch == '(')
           {
                continue;          
            }
            else if(ch == ')')
           {
                output= output + ((Character)s.pop()).toString();       // toString() functions in String class,,,pop() function in Stack class
            }
            else
           {
                s.push(ch);               // push() function in Stack class
            }
        }
        return output;
   }