package com.github.wdn.coding2017.basic.stack.expr; import java.util.HashMap; import java.util.Map; /** * Created by Administrator on 2017/4/18 0018. */ public class Operator { private static Map<String,Integer> priorityMap = new HashMap(); static{ priorityMap.put("+",1); priorityMap.put("-",1); priorityMap.put("*",2); priorityMap.put("/",2); } public static int compare(String a, String b){ int result = priorityMap.get(a)-priorityMap.get(b); return result == 0 ? 0 : result > 0 ? 1 : -1; } public static boolean isOperator(char o){ return o=='+' || o=='-'|| o=='*'|| o=='/'; } public static float calculate(float a,float b,String operator) throws IllegalAccessException { float result; switch (operator) { case "+": result = a+b; break; case "-": result = a-b; break; case "*": result = a*b; break; case "/": result = a/b; break; default: throw new IllegalAccessException(); } return result; } }