我有一些數學表達式爲Java Strings (100 % 6)* 7 =
和Sin(45) + log 100 – 3^5 =
。我想解析這些操作數和操作符然後解決它們。如何解析operans和運算符的數學表達式並解決它而不使用Regex?
但我不想使用Java正則表達式。什麼是最好的解決方案?
我有一些數學表達式爲Java Strings (100 % 6)* 7 =
和Sin(45) + log 100 – 3^5 =
。我想解析這些操作數和操作符然後解決它們。如何解析operans和運算符的數學表達式並解決它而不使用Regex?
但我不想使用Java正則表達式。什麼是最好的解決方案?
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
public class aaa {
public static void main(String []args){
try {
String xyz = "3*3+3";
String kkk = "(100 % 6)* 7";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine se = manager.getEngineByName("JavaScript");
Object result1 = se.eval(xyz);
Object result2 = se.eval(kkk);
System.out.println("result1: "+result1);
System.out.println("result2: "+result2);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
它不是'分裂',它被稱爲'掃描'(或'標記化')和'解析'。 – EJP
@EJP tahnk你,我只是編輯它 – Ehsan
所以你需要一個解析技術,你可以從Java訪問。有些問題已經提出並回答了這個問題。 http://stackoverflow.com/questions/1792261/java-maths-parsing-api – Lisa