第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何解析作為字符串的數(shù)學表達式并返回數(shù)字?

如何解析作為字符串的數(shù)學表達式并返回數(shù)字?

翻閱古今 2019-07-05 15:23:21
如何解析作為字符串的數(shù)學表達式并返回數(shù)字?在Java中是否有一種方法可以從這個數(shù)學表達式中得到結(jié)果:String code = "5+4*(7-15)";另一方面,解析算術表達式的最佳方法是什么?
查看完整描述

3 回答

?
30秒到達戰(zhàn)場

TA貢獻1828條經(jīng)驗 獲得超6個贊

你可以把它傳遞給BeanShell bsh.Interpreter就像這樣:

Interpreter interpreter = new Interpreter();interpreter.eval("result = 5+4*(7-15)");System.out.println(interpreter.get("result"));

您將希望確保您計算的字符串來自可信的源和通常的預防措施,但否則它將直接工作。

如果你想采取更復雜(但更安全)的方法,你可以使用反TLR(我懷疑它有一個數(shù)學語法作為起點),并且自己來編譯/解釋這個語句。


查看完整回答
反對 回復 2019-07-05
?
回首憶惘然

TA貢獻1847條經(jīng)驗 獲得超11個贊

您可以使用ScriptEngine類并將其計算為javascript字符串。

ScriptEngineManager manager = new ScriptEngineManager();ScriptEngine engine = manager.getEngineByName("js");        
Object result = engine.eval("5+4*(7-15)");

事實上,Yu應該知道以下javascript指令的結(jié)果:

   eval('var aa=5+4*(7-15)')
   aa // -27

也許有更好的方法,但這個方法有效。


查看完整回答
反對 回復 2019-07-05
  • 3 回答
  • 0 關注
  • 528 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號