如何评估java中包含幂的表达式(2 ^ 3 ^ 5)

时间:2012-09-15 17:58:59

标签: java pseudocode

我在java中实现了一个控制台计算器,它获取一个表达式,然后将其转换为postfix,然后计算并打印结果。

但是当我输入包含彼此相邻的两个幂(2 ^ 3 ^ 5等)的表达式时,我遇到了问题。它转换为23^5^作为后缀表达式,但应转换为35^2^,因为它必须从右边开始。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

指数运算符具有从右到左的关联性。需要首先深入评估。这个example详细解释了如何处理它。

答案 1 :(得分:1)

它实际应该转换为235 ^^。