我最近开始熟悉一些基本的Java编程,并且正在尝试由导师为我完成一个任务集。基本上,程序意味着接受一个可能包含任何运算符+, * and #
的等式(我们没有被告知究竟是什么#表示,只是它是一个优先级高于*的一元运算符);并将其转换为RPN,以便稍后使用LOAD和EXEC命令进行解释并转换为基本机器代码(但以后的内容)。
我已经创建了基本转换函数,它似乎可以很好地处理A + 6等基本方程式,但是当遇到括号时它似乎有问题。
例如,如果我将以下等式传递给它:
A+6,
A+(B*2)
(((#9)*C)+D)+E
(((#1)))
我得到以下结果:
A6+
A(B2)*+
(((9)#C)*D)+E+
(((1)))#
所以看起来只有括号妨碍了。 我的问题是这些: