1、replace不能替换为replaceAll,否则编译报错,不清楚什么原因
2、javax.script,它开始存在于JDK1.6,它可以解析通用的表达式
3、ScriptEngineManager:是一个工厂的集合,可以通过name或者tag的方式获取某一个脚本的工厂,并且生成一个脚本的ScriptEngine.
4、ScriptEngine:是一个脚本引擎,包含一些操作方法:eval,createBindings,setBindings
5、Nashorn是在java中高效动态执行JS代码的运行环境
5、Nashorn是在java中高效动态执行JS代码的运行环境
import java.util.*;
import javax.script.*;
public class Main{
public static void main(String[] args) throws ScriptException{
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
str=str.replace("[","(");
str=str.replace("]",")");
str=str.replace("{","(");
str=str.replace("}",")");
ScriptEngine script=new ScriptEngineManager().getEngineByName("nashorn");
System.out.println(script.eval(str));
}
}
import javax.script.*;
public class Main{
public static void main(String[] args) throws ScriptException{
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
str=str.replace("[","(");
str=str.replace("]",")");
str=str.replace("{","(");
str=str.replace("}",")");
ScriptEngine script=new ScriptEngineManager().getEngineByName("nashorn");
System.out.println(script.eval(str));
}
}