Java程序,用于评估String中的数学表达式

2022/6/8 1:22:34

本文主要是介绍Java程序,用于评估String中的数学表达式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

/**
 * 数学工具
 *
 * @version 1.0
 * @date 2022/6/6 18:01
 * @since : JDK 11
 */
public class NumUtils {

    /**
     * 注意:仅支持评估简单数学逻辑表达式(例如:" 3 > 1")
     *
     * @param symbol 判断符号
     * @param n1     比较值
     * @param n2     比较基准,被比较值(阈值)
     * @return
     * @throws ScriptException
     */
    @SuppressWarnings("all")
    public static boolean expressionMathematicalEvaluation(String symbol, String numberStr, String baseNumberStr) {
        Boolean result = false;
        try {
            ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
            ScriptEngine javaScript = scriptEngineManager.getEngineByName("JavaScript");
            String expression = new StringBuffer()
                    .append(numberStr)
                    .append(" ")
                    .append(symbol)
                    .append(" ")
                    .append(baseNumberStr).toString();
            result = (Boolean) javaScript.eval(expression);
        } catch (ScriptException e) {
            e.printStackTrace();
            result = false;
        }
        return result;
    }
}


这篇关于Java程序,用于评估String中的数学表达式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程