我在 java 中实现了一个控制台计算器,它获取一个表达式,然后将其转换为后缀,然后计算并打印结果。
但是当我输入包含彼此相邻的两个幂(2^3^5 等)的表达式时,我遇到了问题。它转换23^5^
为后缀表达式,但应该转换35^2^
,因为对于权力,它必须从右开始。
有任何想法吗?
我在 java 中实现了一个控制台计算器,它获取一个表达式,然后将其转换为后缀,然后计算并打印结果。
但是当我输入包含彼此相邻的两个幂(2^3^5 等)的表达式时,我遇到了问题。它转换23^5^
为后缀表达式,但应该转换35^2^
,因为对于权力,它必须从右开始。
有任何想法吗?
指数运算符具有从右到左的结合性。它需要首先进行深入评估。这个例子详细解释了如何处理它。
它实际上应该转换为 235^^。