代码拉取完成,页面将自动刷新
package wek1;
import java.util.Scanner;
import java.util.Stack;
public class PostfixEvaluator {
private final static char ADD = '+';
private final static char SUBTRACT='-';
private final static char MULTIPLY='*';
private final static char DIVIDE='/';
private Stack<Integer> stack ;
public PostfixEvaluator(){
stack=new Stack<Integer>() ;
}
public int evaluate(String expr){
int op1,op2,result = 0;
String token;
Scanner parser = new Scanner(expr);
while (parser.hasNext() ) {
token = parser.next();
if (isOperator(token)) {
op2 = (stack.pop()).intValue();
op1 = (stack.pop()).intValue();
result = evaluateSingleOperator(token.charAt(0), op1, op2);
stack.push(new Integer(result));
} else
stack.push(new Integer(Integer.parseInt(token)));
}
return result;
}
private boolean isOperator(String token){
return (token .equals("+") || token .equals("-") || token .equals("*") || token .equals("/") );
}
private int evaluateSingleOperator (char operation ,int op1,int op2){
int result=0;
switch (operation){
case ADD:
result =op1+op2;
break;
case SUBTRACT :
result =op1-op2;
break;
case MULTIPLY :
result =op1*op2;
break;
case DIVIDE :
result =op1/op2;
}
return result ;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。