Submitted by chuidiang on Sun, 05/16/2010 - 06:51
Posted in
Si tenemos una expresión matemática en un String, estilo "5*X+3*2", no hay forma en java de evaluar dicha expresión para un valor concreto de X ... ¿o sí?. Java viene con una api que permite ejecutar javascript y javascript sí tiene una manera de evaluar esas expresiones. Por tanto, desde java, podemos hacerlo de esta manera.
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class scriptEngine {
public static void main(String[] args) throws Exception {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
engine.put("X", 3);
Object operation = engine.eval("5*X+3*2");
Object operation2 = engine.eval("(X+3)");
System.out.println("Evaluado operacion 1: " + operation);
System.out.println("Evaluado operacion 2: " + operation2);
}
}
- chuidiang's blog
- Login to post comments
