//常用的逻辑计算有And(表示为&);Or(表示为|);Not(表示为!)。其中,他们的优先级关系是Not(!)>And(&)>Or(|)。
// 输入描述:
// 1、测试用例中间无空格,无需考虑空格。
// 2、测试用例表达式只会出现如下字符:“0”,“1”,“(”,“)”,“&”,“|”,“!”。
// 3、测试用例所给的输入都是合法输入,无需要考虑非法输入。
// 4、测试用例长度不会超过128个字符。
// 5、括号可以重复嵌套。
//
// 例如:
// 1 | ( 1 & 0 ) 返回值:1
// 1 & 0 | 0 & 1 返回值:0
// ! 0 & 1 | 0 返回值:1
// ( ( ! 0 & 1 ) ) | 0 返回值:1
//
// 输出描述:
// 输出逻辑运算后的最终结果:0或者1
// 示例1:
// 输入:! ( 1 & 0 ) | 0 & 1
// 输出:1
// 示例2:
// 输入:! ( 1 & 0 ) & 0 | 0// 输出:0
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import java.util.Scanner;
public class try {
/**第一种 调用函数*/
public static void Pipei(String s){
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
Object result=null;
try {
result = engine.eval(s);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(result.toString());
}
public static void main(String args[]){
String s=new Scanner(System.in).nextLine();
Pipei(s);
}
}
但是,融合了 JavaScript 之力的 Nashorn 或被 JDK 11 弃用