当前位置: 首页 > 知识库问答 >
问题:

用占位符解析JEP

公羊玉泽
2023-03-14

我需要利用JEP库来解析Java中的一些表达式。我正面临着占位符的问题。

 public static void main(String[] args) {
    JEP j = new JEP();    
    try {
     j.addVariable("x", 9);
     j.parseExpression("x/5");
     
     Object a=j.getValueAsObject();
     System.out.println(a);
    }catch (Exception e) {
      e.printStackTrace();
    }
The answer is 1.8 (Expected)
 public static void main(String[] args) {
try {

    JEP j = new JEP();  
     j.addVariable("{x}", 9);
     j.parseExpression("{x}/5");
     
     Object a=j.getValueAsObject();
     System.out.println(a);
    }catch (Exception e) {
      e.printStackTrace();
    }
}

共有1个答案

壤驷骁
2023-03-14

似乎不支持{},但支持()。因此,我建议您对{}执行字符串操作,并在可能的情况下替换为()

下面的一个例子:

JEP jepExpression = new JEP();
jepExpression.setAllowUndeclared(true);
jepExpression.addStandardConstants();
jepExpression.addStandardFunctions();

jepExpression.parseExpression("(a + 1) * (b - 3)");
jepExpression.addVariable("a", 1);
jepExpression.addVariable("b", 2);

System.out.println("Value: " + jepExpression.getValueAsObject());

Value: -2.0
 类似资料:
  • 问题内容: 我对春天还很陌生,所以请问这是一个愚蠢的问题。当我尝试启动程序时,出现以下错误:。执行以下代码时,将引发错误: 资源文件夹中存在一个名为的属性文件,其中包含主机和端口的信息。我不确定在哪里定义(如果有的话)。也许甚至没有定义,这就是问题所在。我需要将其更改为类似的东西还是缺少其他内容? 问题答案: 您没有正确读取属性文件。propertySource应该将参数传递为:或。将注释更改为:

  • 我有个例外 我也尝试过使用JarLoader和PropertiesLauncher,但运气并不好。 我确实在application.properties中定义了属性sysm.client.api.path,但为了更好地衡量,我还将它作为-d参数-dsysm.client.api.path=my-path添加到命令行中。 注意:IntelliJ没有将其作为a-jar运行;相反,它在一个大型类路径命令

  • 问题内容: 我有我的配置: 我得到错误 我知道这可能缺少属性文件,但是我在类路径中恰好有它。有什么不见了? 我的web.xml: 问题答案: 你的应用程序中可能有多个。尝试在超类的方法上设置一个断点,看看在应用程序启动时是否多次调用了该断点。如果不止一个,则可能需要查看配置属性,以便你的应用程序可以正常启动。

  • 问题内容: 我正在尝试使用文件中的属性,但它似乎不起作用。 这是我的代码: 此类使用批注获取属性。它也被声明为Spring Service并链接到我的文件: 使用,我将此文件链接到我的文件: 这确实有意义,对吗? 但是,当我尝试启动项目时,Tomcat抛出此异常: 或者,简而言之: 编辑: 这是我的web.xml: 我的infraContext.xml被导入到另一个名为applicationCon

  • 类型 Glide允许用户指定三种不同类型的占位符,分别在三种不同场景使用: placeholder error fallback 占位符(Placeholder) 占位符是当请求正在执行时被展示的 Drawable 。当请求成功完成时,占位符会被请求到的资源替换。如果被请求的资源是从内存中加载出来的,那么占位符可能根本不会被显示。如果请求失败并且没有设置 error Drawable ,则占位符将

  • 我有一个Spring启动应用程序。当我在Spring工具套装4中单击“运行”按钮时,它可以正常工作。 但是当我以“maven install”运行时,我收到了错误消息: 我的应用属性的内容: 如果我将其更改为 它工作得很好。但我想从用户那里获取envVersionNum,它存储在.bash_profile(export envVersion Num=1.1.1)中。 pom.xml的内容: 家庭控