【问题标题】:Prefix Postfix Infix Java expression evaluator前缀 后缀 中缀 Java 表达式求值器
【发布时间】:2012-01-17 01:14:08
【问题描述】:

我一直在用 java 开发表达式评估器,出于沮丧,我也来这里询问它。到目前为止,我已经重写了至少 15 次,但每次都无济于事。

基本上,我需要在前缀、中缀或后缀中取一个字符串并将其计算为整数。该表达式可以使用 java 中包含的任何算术运算符。

我遇到的问题: - 当我尝试解析为表达式树或将它们全部解析为后缀时,我遇到了单项式运算符的问题。 - 我无法将多位数字识别为一个数字,随后它会破坏整个树或切换数字。 - 我无法让程序找出正确放置括号的位置,也无法让程序使用堆栈识别括号的开头和结尾。

所以基本上程序需要这样做:

对于任意数 A B C D E F

在前缀后缀和中缀中求值:

A-- + ++B - --C * D++ / E % F

对于任意位 A B C D E F G 和数字 n

在前缀、后缀和中缀中求值: 甲&乙| C ^ ~D

n >> A

n

我的教科书没有多大帮助,我订购的书籍也没有多大帮助,我真的不明白如何做到这一点,请帮助,即使只是解释如何做到这一点对我来说已经足够了。感谢您的帮助:D

【问题讨论】:

    标签: java expression evaluation


    【解决方案1】:

    假设您已成功标记所有标识符、运算符和文字,下一步将是阅读一些有关递归下降解析器的内容。对于这种情况,您可能可以手动编写,而不是试图弄清楚如何使用解析器生成器。

    【讨论】:

    猜你喜欢
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 2017-05-02
    • 2013-04-03
    相关资源
    最近更新 更多