You are on page 1of 1

3/20/22, 3:02 PM Online Java Compiler - Online Java Editor - Java Code Online

Online Java Compiler IDE


For Multiple Files, Custom Library and File Read/Write, use our new -
Advanced Java IDE

1 import java.util.Stack;
2 import java.util.*;
3
4 public class InfixToPostFix {
5
6 static int precedence(char c){
7 switch (c){
8 case '+':
9 case '-':
10 return 1;
11 case '*':
12 case '/':
13 return 2;
14 case '^':
15 return 3;
16 }
17 return -1;
18 }
19
20 static String infixToPostFix(String expression){
21
22 String result = "";
23 Stack<Character> stack = new Stack<>();
24 for (int i = 0; i <expression.length() ; i++) {
25 char c = expression.charAt(i);
26
27
28 if(precedence(c)>0){
29 while(stack.isEmpty()==false && precedence(stack.peek())>=precedence(c)){
30 result += stack.pop();
31 }
32 stack.push(c);
33 }else if(c==')'){
34 char x = stack.pop();
35 while(x!='('){
36 result += x;
37 x = stack.pop();
38 }
39 }else if(c=='('){
40 stack.push(c);
41 }else{
42
43 result += c;
44 }
45 }
46 for (int i = 0; i <=stack.size() ; i++) {
47 result += stack.pop();
48 }
49 return result;
50 }
51
52 public static void main(String[] args) {
53 Scanner sc = new Scanner(System.in);
54 String exp = sc.nextLine();
55
56 System.out.println(infixToPostFix(exp));
57 }
58 }

   Execute Mode, Version, Inputs & Arguments

CommandLine Arguments
https://www.jdoodle.com/online-java-compiler/ 1/3

You might also like