首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查数组是否包含Jep中的数字

检查数组是否包含Jep中的数字
EN

Stack Overflow用户
提问于 2015-12-17 19:43:21
回答 1查看 96关注 0票数 0

我使用的是singularsys的“数学表达式解析器”库。下面是它的文档:Official tutorialsDocumentation

我想要做的是:

代码语言:javascript
复制
    Jep jep = new Jep();

    jep.addVariable("ARR", new int[]{1,2,3});
    jep.parse("ARR == 3");

    Object result = jep.evaluate();
    boolean ok = false;
    if(result != null)ok = Boolean.valueOf(result.toString());
    System.out.println(ok);

我设置了一个名为ARR的变量,它包含数字1、2和3。我需要它来检查数组是否包含数字3,并返回"true“。

你知道要使用什么运算符或函数吗,或者这是否可能?我在文档中找不到任何东西,但我有一种感觉,不知何故这是可行的。

EN

回答 1

Stack Overflow用户

发布于 2015-12-17 20:36:33

我最终构建了一个自定义函数:

代码语言:javascript
复制
public static class JepContains extends BinaryFunction
    {
      public Object eval(Object arg1, Object arg2)
      {
          int[] arr = (int[])arg1;
          int target = ((Double)arg2).intValue();         
          for(double i : arr)
              if(i==target)
                  return true;        
          return (Object)false;
      }
    }

下面是我如何使用它的:

代码语言:javascript
复制
jep.addFunction("contains",new JepContains());
jep.addVariable("ARR", new int[]{1,2,3});
jep.parse("contains(ARR, 2)"); // returns "true"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34333764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档