我将如何计算String number = "3^6"
?有一些数学选项可以计算指数,但是我如何将字符串转换为Java数学类可以解决的问题?
String s = "3^6";
String[] sArr = s.split("\\^");
double[] dArr = {Double.valueOf(sArr[0]), Double.valueOf(sArr[1])};
System.out.println(Math.pow(dArr[0], dArr[1]));
这应该使您入门。打印:
729.0
当然,对于复杂的方程式,您将不得不编写相应的代码来进行处理。
如果您的方程式带有方括号,请输入Stack
来检查左方括号和右方括号。并且如果方程式是这样的:3 ^ 6 ^ 2
,则在循环中计算指数。
尝试使用ScriptEngineManager
public static void main(String[] args) {
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
String foo = "3^6";
try {
System.out.println(engine.eval(foo));
} catch (ScriptException ex) {
Logger.getLogger(TestJava.class.getName()).log(Level.SEVERE, null, ex);
}
}