1 Star 0 Fork 0

cjy20175218/20175218cjy

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
MyDC.java 1.49 KB
一键复制 编辑 原始数据 按行查看 历史
cjy20175218 提交于 2019-05-27 18:59 . experiment5
import java.util.*;
public class MyDC {
private final char ADD = '+';
private final char SUBTRACT = '-';
private final char MUTIPLY = '*';
private final char DIVIDE = '/';
private Stack<Integer> stack;
public MyDC() {
stack = new Stack<Integer>();
}
public int evaluate(String expr) {
int op1, op2, result = 0;
String token;
StringTokenizer tokenizer = new StringTokenizer(expr);
while (tokenizer.hasMoreTokens()) {
token = tokenizer.nextToken();
if (isOperator(token)) {
op2 = (stack.pop().intValue());
op1 = (stack.pop().intValue());
result = evalSingleOp(token.charAt(0), op1, op2);
stack.push(result);
} else {
stack.push((Integer.parseInt(token)));
}
}
return result;
}
private boolean isOperator(String token) {
return (token.equals("+") || token.equals("-") || token.equals("*") || token.equals("/"));
}
private int evalSingleOp(char operation, int op1, int op2) {
int result = 0;
switch (operation) {
case ADD:
result = op1 + op2;
break;
case SUBTRACT:
result = op1 - op2;
break;
case MUTIPLY:
result = op1 * op2;
break;
case DIVIDE:
result = op1 / op2;
}
return result;
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/cjy-123/20175218cjy.git
git@gitee.com:cjy-123/20175218cjy.git
cjy-123
20175218cjy
20175218cjy
master

搜索帮助

A270a887 8829481 3d7a4017 8829481