蓝桥杯后缀表达式java
时间: 2023-10-23 22:47:58 浏览: 48
以下是一个基于栈的Java代码,用于计算给定后缀表达式的值:
import java.util.Stack;
public class EvaluatePostfixExpression {
public static int evaluate(String expression) {
char[] tokens = expression.toCharArray();
Stack<Integer> values = new Stack<Integer>();
for (int i = 0; i < tokens.length; i++) {
if (tokens[i] >= '0' && tokens[i] <= '9') {
StringBuffer sb = new StringBuffer();
while (i < tokens.length && tokens[i] >= '0' && tokens[i] <= '9') {
sb.append(tokens[i++]);
}
values.push(Integer.parseInt(sb.toString()));
} else if (tokens[i] == '+' || tokens[i] == '-' || tokens[i] == '*' || tokens[i] == '/') {
int val1 = values.pop();
int val2 = values.pop();
switch (tokens[i]) {
case '+':
values.push(val2 + val1);
break;
case '-':
values.push(val2 - val1);
break;
case '*':
values.push(val2 * val1);
break;
case '/':
values.push(val2 / val1);
break;
}
}
}
return values.pop();
}
public static void main(String[] args) {
String expression = "231*+9-";
System.out.println("Value of postfix expression: " + evaluate(expression));
}
}
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)