我在 java 中实现了一个控制台计算器,它获取一个表达式,然后将其转换为后缀,然后计算并打印结果。
但是当我输入包含两个相邻的幂(2^3^5 等)的表达式时,我遇到了问题。它转换为 23^5^
作为后缀表达式,但应该转换为 35^2^
,因为对于幂它必须从右开始。
有什么想法吗?
最佳答案
指数运算符具有从右到左的结合性。它需要以深度优先的方式进行评估。这example详细解释了如何处理它。
关于java - 如何计算包含幂 (2^3^5) 的 java 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12439765/