簡體   English   中英

在Java中拆分數學表達式

[英]Splitting a maths expression in Java

我試圖從它的括號中分割出一個簡單的數學表達式

例如: (8+(3(2+3)(4-1)))分成小表達式,如(2+3), (4-1), (3*5*3), and finally (8+45)

我試着在這里查看分裂表達式 ,但由於它是在python中,我不知道如何在Java中實現它。

有人可以幫幫我嗎..

你真的必須“拆分”它還是只需要評估它? 直接評估它更容易。

這是我對此的回答......

在Java中解析算術表達式並從中構建樹

我認為dijkstra的分流碼算法可能對你有幫助,它的目的是解決中綴符號的表達式。 您可以獲取中間結果以獲取您要查找的表達式。

http://en.wikipedia.org/wiki/Shunting-yard_algorithm

包含C示例代碼,這應該對您有所幫助,因為它與Java類似。

只是一個建議使用算術表達式樹來解決這個問題。 我用C#完成了這個,如果你有興趣我可以給出這個方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM