[英]Error: Evaluating a math expression given in string form in Android Studio
I want to evaluate a math expression from a string using Scriptmanager
in android studio. 我想使用android studio中的
Scriptmanager
从字符串中评估数学表达式。 I have successfully imported library Jsr223 . 我已经成功导入了库Jsr223 。 Now I am able to import following libraries required
现在我可以导入以下所需的库
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
Now when I do following code 现在,当我执行以下代码时
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
String foo = "40+2";
ans = engine.eval(foo);
I get error at ans = engine.eval(foo);
我在
ans = engine.eval(foo);
出错
unhandled exception : javax.script.ScriptException.
未处理的异常:javax.script.ScriptException。 ans datatype is int.
ans数据类型为int。
Using Android Studio 1.5.1 . 使用Android Studio 1.5.1。
try
{
int ans= (int) engine.eval(foo);
System.out.printf("%d \n", ans);
} catch (ScriptException e)
{ e.printStackTrace(); }
This does the job. 这样就可以了。 Notice the try/catch, the
int
declaration, and the casting to an int
. 注意try / catch,
int
声明以及对int
的强制转换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.