package study.java.jdks.version1_6.scripts; import java.io.FileReader; import java.util.Scanner; import javax.script.Bindings; import javax.script.Invocable; import javax.script.ScriptContext; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public class TestJavaScript { public static void main(String[] args) throws Exception { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("JavaScript"); Bindings bind = engine.createBindings(); bind.put("factor",2); engine.setBindings(bind, ScriptContext.ENGINE_SCOPE); Scanner input = new Scanner(System.in); while(input.hasNext()) { int first = input.nextInt(); int sec = input.nextInt(); System.out.println("输入的参数为:" + first + "," + sec); engine.eval(new FileReader("E:\\eclipse_luna\\aidefaultws\\JavaStudy\\src\\study\\java\\jdks\\version1_6\\scripts\\cal.js")); if(engine instanceof Invocable) { Invocable in = (Invocable)engine; Double result = (Double)in.invokeFunction("cal", first,sec); System.out.println("运算结果为:" + result.intValue()); } } } }