Java高效表达式解析器算法设计:提取操作数、操作符及校验括号平衡
字符串表达式解析Java算法设计需求
核心功能
- 提取表达式中的操作数与操作符
- 校验表达式的括号平衡
- 无需处理操作优先级(输入的多二元操作表达式会自带括号)
- 处理一元负号规则:若
-出现在括号前,则括号内的整个表达式作为操作数
解析示例
- 解析
"a+b":操作数"a"、"b",操作符"+" - 解析
"(a/b) - (c*v)":操作数"a/b"、"c*v",操作符"-" - 解析
"((a/(b))) - (((c)*v))":结果与上例一致 - 解析
"-a":操作数"a",操作符"-" - 解析
"a + (-c/v)":操作数"a"、"-c/v",操作符"+" - 解析
"-(c)":操作数"c",操作符"-" - 解析
"(-(c))":结果与上例一致
内容的提问来源于stack exchange,提问作者Ali Aman
相关产品推荐
相关产品推荐

