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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Java中是否有val()函數(shù)?

Java中是否有val()函數(shù)?

Java中是否有val()函數(shù)?我有一個(gè)字符串,如下所示:String str = "4*5";現(xiàn)在我要得到的結(jié)果是20通過使用字符串。我知道在其他語言中eval()函數(shù)就能做到這一點(diǎn)。我如何在Java中做到這一點(diǎn)?
查看完整描述

4 回答

?
BIG陽

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以使用ScriptEngine類并將其計(jì)算為Javascript字符串。

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

也許有更好的方法,但這個(gè)方法有效。


查看完整回答
反對(duì) 回復(fù) 2019-05-30
?
慕村225694

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊

沒有標(biāo)準(zhǔn)的Java類或方法可以做您想做的事情。你的選擇包括:

  • 選擇并使用一些第三方表達(dá)式評(píng)估庫。例如果凍或者列出的六家圖書館中的任何一家這里.

  • 類的Java源代碼中將表達(dá)式包裝為eval方法,將其發(fā)送到Java編譯器,然后加載生成的已編譯類。

  • 使用一些可以從Java調(diào)用的腳本語言作為表達(dá)式計(jì)算器??赡苄园↗avascript,BeanShell,等等。

  • 從頭開始編寫自己的表達(dá)式計(jì)算器。

第一種方法可能是最簡單的。如果您從不受信任的用戶那里得到要評(píng)估的表達(dá)式,第二種和第三種方法是潛在的安全風(fēng)險(xiǎn)。(考慮一下代碼注入。)


查看完整回答
反對(duì) 回復(fù) 2019-05-30
?
慕田峪7331174

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊

我可以建議你用Exp4j。從下面的示例代碼中可以看出,這很容易理解:

Expression e = new ExpressionBuilder("3 * sin(y) - 2 / (x - 2)")
    .variables("x", "y")
    .build()
    .setVariable("x", 2.3)
    .setVariable("y", 3.14);double result = e.evaluate();


查看完整回答
反對(duì) 回復(fù) 2019-05-30
  • 4 回答
  • 0 關(guān)注
  • 2852 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)