PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
java
[問題] 如何做計算機 (分析數學式子)
作者:
stenler
(挖哈哈思壓)
2015-12-13 00:37:30
As tile, 今天有一個需求, user會輸入如下面這種數學式子的字串
(((1 + 2) * (3 + 6) / 3)
必須得到這個數學式子的答案(9)
請問這個演算法該怎麼實作?
印象中大學有學過 ... 似乎要用到堆疊之類 (分別push operand and operator?) ...
實在是想不到該用 java 哪些類別跟演算法阿 ...
作者:
LPH66
(-6.2598534e+18f)
2015-12-13 00:46:00
演算法是你要自己寫的, java 不會提供單論資料結構的話堆疊倒是有 java.util.Stack<> 可以用
作者:
icydream
(巧虎)
2015-12-13 00:56:00
可參考Postfix order
作者:
yichen
(蒼穹之下任我行)
2015-12-13 10:56:00
參考良葛格中序式轉後序式
http://tinyurl.com/pjhelpc
後序式運算:
http://tinyurl.com/qaw534l
作者:
bitlife
(BIT一生)
2015-12-14 19:26:00
依運算式複雜程度(僅四則->三角等工程型函等)以及可使用解決方案(可使用現有library甚至網站,如丢個httpget給)數學網站求值),所以要看你詳細的需求operator precedence和中序轉後序都有其適用範圍限制,最標準的一般式的最簡單做法是寫lex & yacc(java版)腳本
作者:
adrianshum
(Alien)
2015-12-17 09:08:00
最簡單就mvel,spel,甚至groovy 吧 (誤
繼續閱讀
[徵求] 考試卷一張
fantasyera
[問題] inner class 沒有執行
obelisk0114
[問題] 想請問這是否為package路徑的問題? 謝謝
aqua2012
Re: [問題] 想請問Hashtable<Key,Values>的問題
swpoker
[問題] 想請問Hashtable<Key,Values>的問題
freedom74569
[徵求] oracle考試券 一張
wendyhard
售java考試卷兩張
synergy203
[問題] lambda method reference
LaPass
[問題] 讀取Excel 公式計算值
keerily
[問題] http request, source port number
aiweisen
Links
booklink
Contact Us: admin [ a t ] ucptt.com