for example jdk1.6以上String exp = "(a+3)*9/(a+4)"; //公式 String a = "5"; //设置a exp = exp.replaceAll("a", a); ScriptEngine se = new ScriptEngineManager().getEngineByName("javascript"); Object b = se.eval(exp); System.out.println(b);
反过来的话,就把a的公式求出来 b=(a+3)*9/(a+4) --> a=(4b-27)/(9-b) String exp = "(4b-27)/(9-b)"; //公式 String b = "8"; //设置a exp = exp.replaceAll("b", b); ScriptEngine se = new ScriptEngineManager().getEngineByName("javascript"); Object a = se.eval(exp); System.out.println(a);
jdk1.6以上String exp = "(a+3)*9/(a+4)"; //公式
String a = "5"; //设置a
exp = exp.replaceAll("a", a);
ScriptEngine se = new ScriptEngineManager().getEngineByName("javascript");
Object b = se.eval(exp);
System.out.println(b);
b=(a+3)*9/(a+4) --> a=(4b-27)/(9-b)
String exp = "(4b-27)/(9-b)"; //公式
String b = "8"; //设置a
exp = exp.replaceAll("b", b);
ScriptEngine se = new ScriptEngineManager().getEngineByName("javascript");
Object a = se.eval(exp);
System.out.println(a);
没接触过类似的东西,可以给个demo或者demo的链接吗?
从C语言转换过来的Java版,字符串代数运算器