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

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 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动
  • ¥15 大一C语言期末考试,求帮助🙏🙏
  • ¥15 ch340驱动未分配COM
  • ¥15 Converting circular structure to JSON
  • ¥30 Hyper-v虚拟机相关问题,求解答。
  • ¥15 TSM320F2808PZA芯片 Bootloader
  • ¥45 谷歌浏览器出现开发者工具无法显示已创建的,但您可以调试已部署的代码。 状态代码 404, net::ERR HTTP RESPONSE CODE FAILURE
  • ¥15 如何解决蓝牙通话音频突发失真问题
  • ¥15 安装opengauss数据库报错
  • ¥15 【急】在线问答CNC雕刻机的电子电路与编程