如果表達式是字符串的形式,那么一般我們求值都會遇到很大的問題。
這里有一種直接調用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