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