java计算表达式的值
时间: 2023-01-29 12:13:07 浏览: 132
在 Java 中,可以使用下列方法来计算表达式的值:
1. 使用内置函数 eval():Java 中并没有内置的 eval() 函数,但是可以使用第三方的包来实现这个功能,例如 Javaluator 和 MVEL。
2. 使用 Java 脚本引擎:Java 内置了一个叫做 Java 脚本引擎的 API,可以用来执行脚本代码。可以使用这个 API 来执行表达式,并获取表达式的值。
3. 使用逆波兰式(RPN):逆波兰式是一种表示表达式的方式,它把操作符放在操作数后面,并使用栈来存储和计算表达式的值。Java 中可以使用栈来实现逆波兰式计算器,来计算表达式的值。
下面是一个使用逆波兰式计算表达式的示例代码:
```
import java.util.Stack;
public class RPNCalculator {
public static double calculate(String expression) {
Stack<Double> stack = new Stack<>();
String[] tokens = expression.split(" ");
for (String token : tokens) {
if (token.equals("+")) {
double num1 = stack.pop();
double num2 = stack.pop();
stack.push(num2 + num1);
} else if (token.equals("-")) {
double num1 = stack.pop();
double num2 = stack.pop();
stack.push(num2 - num1);
} else if (token.equals("*")) {
double num1 = stack.pop();
double num2 = stack.pop();
stack.push(num2 * num1);
} else if (token.equals("/")) {
double num1 = stack.pop();
double num2 = stack.pop();
stack.push(num2 / num1);
} else {
stack.push(Double.parseDouble(token));
阅读全文