java - 如何计算以字符串形式给出的数学表达式?

标签 java string math

我正在尝试编写一个 Java 例程来根据 String 值计算数学表达式,例如:

  1. “5+3”
  2. “10-4*5”
  3. “(1+10)*3”

我想避免很多 if-then-else 语句。 我怎样才能做到这一点?

最佳答案

使用JDK1.6,您可以使用内置的Javascript引擎。

import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import javax.script.ScriptException;

public class Test {
  public static void main(String[] args) throws ScriptException {
    ScriptEngineManager mgr = new ScriptEngineManager();
    ScriptEngine engine = mgr.getEngineByName("JavaScript");
    String foo = "40+2";
    System.out.println(engine.eval(foo));
    } 
}

关于java - 如何计算以字符串形式给出的数学表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60247419/

相关文章:

java - Java String 哈希码溢出的后果

ruby - 如何从 Ruby 数组中选择最长的字符串?

algorithm - 如何计算非二次幂字母表的 de Bruijn 序列?

java - Android 与数学解析器

c++ - 音频单位样本值范围

java - Tomcat字符编码

java - 数组列表的总和

php - 将字符串截断为字符串的前 n 个字符,如果删除了任何字符,则添加三个点

java - 在 ViewScop 上写入 404 并在 JAVA JSF 中不重定向显示错误文件

java - 拦截并修改发往第三方应用程序的鼠标事件?