public class PolandExpressionDemo {    /* 计算逆波兰表达式(后缀表达式)结果       假设每个数字或者字符之间用空格隔开       4 * 5 - 8 + 60 + 8 / 2 = 4 5 * 8 - 60 + 8 2 / +     */    public double calculatePoland(String exp) {        String[] strings = exp.split(" ");        Stack<Double> stack = new Stack<>();        for (String s: strings) {            double n1, n2;            switch (s) {                case "*":                    n1 = stack.pop();                    n2 = stack.pop();                    stack.push(n1 * n2);                    break;                case "/":                    n1 = stack.pop();                    n2 = stack.pop();                    stack.push(n2 / n1);                    break;                case "+":                    n1 = stack.pop();                    n2 = stack.pop();                    stack.push(n1 + n2);                    break;                case "-":                    n1 = stack.pop();                    n2 = stack.pop();                    stack.push(n2 - n1);                    break;                default:                    stack.push(Double.parseDouble(s));                    break;            }        }        return stack.pop();    }    public static void main(String[] args) {        PolandExpressionDemo app = new PolandExpressionDemo();        System.out.println(app.calculatePoland("4 5 * 8 - 60 + 8 2 / +"));    }}