jeval自帶函式簡單實現

2021-10-01 02:39:09 字數 1804 閱讀 9359

上篇部落格我大概說了jeval是啥,有啥優點,為啥選擇他之類的問題,這篇我簡單說一下jeval內建函式吧,知道是啥,然後會簡單的使用,下篇部落格我介紹一下jeval實現自定義函式。

閒言少敘,上**

);//輸出字串

system.out.

println

("4.-->"

+evaluator.

evaluate

("#"))

; system.out.

println

("5.-->"

+evaluator.

evaluate

("#"))

; system.out.

println

("6.-->"

+evaluator.

evaluate

("# + ' ' + # + '!'"))

;//拼接後輸出

system.out.

println

("7.-->"

+evaluator.

evaluate

("(# + #) - #"))

;//拼接後輸出計算結果

system.out.

println

("8.-->"

+evaluator.

evaluate

("(# + #) + '!'"))

;//拼接後輸出計算結果

}catch

(evaluationexception ee)

}這個測試類是我從其他地方copy過來的,具體**拷貝的記不清了,我發現好多介紹jeval的部落格都用的是同樣的測試類。。。

這裡讓我寫測試類的話也是和上面的類似,本著能偷懶就偷懶的原則,就借鑑一下吧。

輸出結果如下:

1.

-->

5.02.

-->

'a b c'

3.--

>

'hello'

4.--

>

'world'

5.--

>

3.141592653589793

6.--

>

'hello world!'

7.--

>

2.0net.sourceforge.jeval.evaluationexception: expression is invalid.

這些測試基本一看就懂,我主要說一下注意事項吧:

jeval預設是單引號』作為字串的引號的,字串傳參必須帶單引號數字和字串不能出現在操作符兩側,比如上面的8 就不能正常執行jeval有很多內建的數學函式和字串函式,具體請看原始碼學習

有點困了,暫時就說這些吧,以後有的話再補充,打算重點放在下篇多說一下自定義函式的實現

感謝閱讀,如有錯誤,請不吝指正,謝謝

matlab自帶函式實現高斯濾波

自己編寫的高斯濾波已理解,可是matlab自帶的高斯濾波函式卻沒有用過,這裡記錄一下。matlab自帶函式實現灰度圖高斯濾波 clear close all img imread lena.bmp sigma 6 標準差大小 window double uint8 3 sigma 2 1 視窗大小一...

mysql自帶 Mysql自帶函式

1.ifnull 函式 格式 ifnull expr1,expr2 說明 如果expr1不是null,ifnull 返回expr1,否則它返回expr2。ifnull 返回乙個數字或字串值,取決於它被使用的上下文環境。舉例 mysql select ifnull 1,0 ifnull 1,0 1 1...

各種自帶函式

之一 sort sort str,str i,cmp 為排序函式,內部執行的是快速排序 就是頭乙個指標向後,尾乙個指標向前,遇到頭比尾大的就調過來 呼叫之後就可得到乙個從小到大排列的序列。其中,i為待排序列的長度,cmp為排序標準。重點是這個cmp,內部大致為 bool cmp a,b if a 如...