Write a Java program to evaluate a postfix expressionSolutio
Write a Java program to evaluate a postfix expression
Solution
import java.util.*;
public class PostfixEvaluate {
public static void main(String[] args) {
System.out.println(postfixEvaluate(\"2 4 2 * + 9 -\"));
}
public static int postfixEvaluate(String exp) {
Stack<Integer> s = new Stack<Integer> ();
for(char c : exp.toCharArray())
{
if(isOperator(c))
{
int num2 = s.pop();
int num1 = s.pop();
s.push(evaluateOperands(num1, num2, c));
}
else if(Character.isDigit(c))
{
s.push(Integer.parseInt(Character.toString(c)));
}
}
return s.pop();
}
public static Integer evaluateOperands(int op1, int op2, char operation)
{
switch(operation)
{
case \'+\':
return op1 + op2;
case \'-\':
return op1 - op2;
case \'*\':
return op1*op2;
case \'/\':
return op1/op2;
default:
return 0;
}
}
public static boolean isOperator(char c)
{
return c == \'+\' || c == \'-\' || c == \'*\' || c == \'/\';
}
}
![Write a Java program to evaluate a postfix expressionSolutionimport java.util.*; public class PostfixEvaluate { public static void main(String[] args) { System. Write a Java program to evaluate a postfix expressionSolutionimport java.util.*; public class PostfixEvaluate { public static void main(String[] args) { System.](/WebImages/11/write-a-java-program-to-evaluate-a-postfix-expressionsolutio-1008792-1761520480-0.webp)
![Write a Java program to evaluate a postfix expressionSolutionimport java.util.*; public class PostfixEvaluate { public static void main(String[] args) { System. Write a Java program to evaluate a postfix expressionSolutionimport java.util.*; public class PostfixEvaluate { public static void main(String[] args) { System.](/WebImages/11/write-a-java-program-to-evaluate-a-postfix-expressionsolutio-1008792-1761520480-1.webp)
