如果表达式是字符串的形式,那么一般我们求值都会遇到很大的问题。
这里有一种直接调用JavaScript的方法来返回数值,无疑神器。
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
package scc; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; public class Counter { public static void main(String[] args) { // TODO Auto-generated method stub ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine SE = manager.getEngineByName( "js" ); String Numbers = new String( "1+2/5" ); try { String ans = SE.eval(Numbers).toString(); System.out.println(ans); } catch (ScriptException e) { e.printStackTrace(); } } } |
再分享一则java中执行javascript实现计算器的简单运算,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
ScriptEngineManger sem = new ScriptEngineManger(); /*script引擎管理*/ ScriptEngine se= sem.getEngineByName("JavaScript"); /*script引擎*/ JTextField tf = new JTextField(10); try { System.out.println (se.eval ("2+2")); /* 执行一段script 打印结果*/ tf.setText(se.eval(tf.getText()).tostring); //将运算结果显示到文本框,类似计时器效果 } catch (ScriptException e) { System.out.println ( "算术式出错!" ); } |
总结
以上就是本文关于Java调用JavaScript实现字符串计算器代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://www.open-open.com/code/view/1434193321567