/***************
 frist js

****************/
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
 
public class wz {
 
    public static void main(String[] args) {
 
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine engine = manager.getEngineByName("javascript");
                                  //也可以将javascript改成js
 
        try{
            runJs(engine, 2.0, 400.0);
        } catch(ScriptException e){
            e.printStackTrace();
        } catch (NoSuchMethodException e2){
            e2.printStackTrace();
        }
    }
 
    public static void runJs(ScriptEngine engine, double M3_FN, double M3_fh1)
            throws ScriptException, NoSuchMethodException
    {
        String script = "function f1(a){ return a*10;}";
        engine.eval(script);
        Invocable inv = (Invocable) engine;
        Object obj = inv.invokeFunction("f1", 2);//f1是方法名,2是实参
        System.out.println(obj);
 
        String js = "function f2()\n{\n   var a=0; var b="+M3_FN+"*"+obj+"/3600; \n   if("+M3_fh1+">=50){ a="+M3_fh1+"+b;}\n   return a;\n}";
        System.out.println(js);
        engine.eval(js);
        Object obj2 = inv.invokeFunction("f2");
        System.out.println(obj2);
 
    }
}