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 arduino控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥85 maple软件,solve求反函数,出现rootof怎么办?
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题