class SuffixExpression {
private Deque<String> numStack;
private Deque<Character> operatorStack;
public SuffixExpression(Deque<String> numStack,Deque<Character> operatorStack){
this.numStack = numStack;
this.operatorStack = operatorStack;
}
int execute() {
double up = 0;
double down = 0;
double result = 0;
while(numStack.size()>1) {
char operator = operatorStack.pop();
up = Double.valueOf(numStack.pop());
down = Double.valueOf(numStack.pop());
switch (operator){
case '+':
result = down + up;
break;
case '-':
result = down - up;
break;
case '*':
result = down * up;
break;
case '/':
result = down / up;
break;
}
numStack.push(""+result);
}
return Double.valueOf(numStack.pop()).intValue();
}
}
丑得惊动中南海
谁教教我更巧一点的思路呀。。。