MagicLock 2013-06-19 17:18 采纳率: 100%
浏览 262
已采纳

String字符串判断真假

String str = "true&true||(true||false&(true||false))";
如何用程序判断字符串结果为真还是假?

  • 写回答

2条回答 默认 最新

  • zyn010101 2013-06-19 17:38
    关注

    [code="java"]package com.chinahrt.zyn.iteye;

    import javax.script.Bindings;
    import javax.script.Compilable;
    import javax.script.CompiledScript;
    import javax.script.ScriptEngine;
    import javax.script.ScriptEngineManager;
    import javax.script.ScriptException;
    import ognl.Ognl;
    import ognl.OgnlException;

    public class ScriptTest {

    /**
     * @param args
     * Administrator
     * 2013-6-19 下午5:26:06
     * @throws ScriptException 
     * @throws OgnlException 
     */
    public static void main(String[] args) throws ScriptException, OgnlException {
        //方式一,转换为javascript脚本,利用java的脚本引擎来执行
        ScriptEngine engine = new ScriptEngineManager().getEngineByName("javascript");  
        Compilable compilable = (Compilable) engine;  
        Bindings bindings = engine.createBindings(); //Local级别的Binding   
        String script = "true&true||(true||false&(true||false))"; //定义函数并调用   
        CompiledScript JSFunction = compilable.compile(script); //解析编译脚本函数   
    
        Object result = JSFunction.eval(bindings);  
        System.out.println(result); //调用缓存着的脚本函数对象,Bindings作为参数容器传入
    
        //利用Ognl表达式来计算(需要导入ognl.jar)
        Object re = Ognl.getValue("true&&true||(true||false&&(true||false))",null);
        System.out.println(re);
    }
    

    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献