<分区>
有什么方法可以将 Java 中的“10+(8*9)”之类的字符串转换为整数(结果)? 我正在尝试通过将字符串解析为循环遍历它们的字符并以某种方式尝试获得结果来做到这一点,但这真的很复杂,所以我只是想知道是否还有其他更简单的方法来做到这一点。
<分区>
有什么方法可以将 Java 中的“10+(8*9)”之类的字符串转换为整数(结果)? 我正在尝试通过将字符串解析为循环遍历它们的字符并以某种方式尝试获得结果来做到这一点,但这真的很复杂,所以我只是想知道是否还有其他更简单的方法来做到这一点。
最佳答案
你这里有一个 Infix符号
直接解读非常困难,一般转为RPN或Postfix notation首先。
Dijkstra 编写的 Shunting-yard 算法会为您进行转换。您应该获得可以表示为的结果:
10 8 9 * +
一旦你有了这个,你就可以应用 postfix algorithm解决你的堆栈问题。
关于java - 将 Java 中的字符串转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28173498/