java - 如何计算 boolean 格式的 "(num1+ num2) < num 3 "表达式?

标签 java regex

我需要以 boolean 格式计算“(num1+ num2) < num 3 ”表达式 示例:

String str = "(24+3) < 4";

必须评估上面strBoolean如果truefalse然后使用最后的Boolean里面的值if ()情况。

我不想提取单个字符,转换为int然后继续评估每个子表达式。

最佳答案

您可以使用 javascript 引擎,但我认为这对此来说太多了:

ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
String str = "(24+3) < 4";
try {
    if (engine.eval(str)){
        ...
    }
} catch (ScriptException e) {
}

关于java - 如何计算 boolean 格式的 "(num1+ num2) < num 3 "表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29560298/

相关文章:

java - ajax成功函数出错

java - 在处理事物时创建模态 JDialog

c++ - C++ STL 中的正则表达式

ruby - 用于验证长而复杂的 dns 目标的正则表达式

regex - 在 Python 中验证一组日期的方法

java - OpenJPA native 查询如何将 IN 运算符与列表一起使用

java - 无法正确解析日期 00 :00:00 and 23:59:59 EST in Java

java - 将 UTC 时间转换为 Java 中的本地时区

java - 正则表达式模式中的点行为

javascript - mongodb正则表达式参数