JavaScript eval in JavaApplication: "javax.script.scrip
JavaScript eval in JavaApplication: "javax.script.scriptException: Expected operand but found"
在我的Java应用程序中,我依靠通过ScriptEngine实现的JavaScript来解释和计算我从字符串中读取的一些基本数学方程。
这是我得到的:
public void calc(String comp){
try {
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine eng = mgr.getEngineByName("JavaScript");
res[k] = (Integer) eng.eval(comp);
} catch (Exception e){
System.out.println("Error in res: " +e);
}
}
}
无论哪种输入,执行都会导致:
res中的错误: javax.script.ScriptException: :1:5 需要操作数,但找到 , [3, -, 3] ^ 在第 1 行第 5 列中,此处使用示例性输入 comp = "3-3"
.
或:
public int[] res: javax.script.ScriptException: :1:6 需要操作数,但找到 * [-12, *, 3] ^ 在第 1 行第 6 列
我不懂JavaScript,所以我不知道该怎么做才能修复此错误。
看起来字符串是一个字符串化数组,因此在将数组传递给 Java 应用程序之前,您需要在 JavaScript 中join()
该数组,或者编写一些 Java 代码来执行此操作。
下面是 JavaScript 代码:
var str = [3, '-', 3].join(''); // "3-3"
相关文章:
- html文件中的script标记根本不起作用
- 用javascript将script元素附加到头部;铬不能工作
- script标记如何解析node_modules的路径
- 在<script src=“"></脚本>标签
- Google Script HtmlService,通过多个选项卡复制URL变量
- 为什么firefox开发人员控制台引用script.js
- 等效于<script src=“;something1.json”></脚本>
- If Else Java Script HTML
- strongloop script.js run find in before delete方法:如何同步运行异步方法
- 是否在Script Src标记中包含Script<脚本>(JavaScript等)
- Java Script将对象方法映射到数组中的对象
- 如何在Java Script中比较二维数组和一维数组,并将常见数据存储在另一个数组中
- LABjs错误:脚本总是使用.script()来执行加载的序列
- 从JSP页面调用Java Script函数未返回值
- 显示“<script src='some.js'></脚本>"在Html文档中
- JavaScript eval in JavaApplication: "javax.script.scrip
- 在使用javax.script.ScriptEngine对象评估javaScript代码后返回布尔值
- javax.script传递给javascript一个Java方法作为回调
- 如何使用jdk 1.6's javax.script API's/Rhino Api's
- 如何在 Bluemix 上的 Websphere liberty profile 中启用 javax.script