我想在我的一个项目中包含一个简单的RPN类型计算器功能。

基本上我需要一种可以转换的方法,例如:

将“ 30 /(((1 + 4)* 3)”转换为“ 2”

有谁知道任何预写的库可以做到这一点?

谢谢。

最佳答案

您应该实现Shunting Yard Algorithm

还要看:Reverse Polish notation

您可以使用Shunting Yard (Jep API)

我建议您使用Python编写它,因为它是内置方法,因此不必在Java中实现它

print eval("30 / ((1 + 4) * 3)")


ideone demo

10-08 07:07