我最近在我的一个类中被赋予一个赋值,要求我们创建一个计算器,该计算器需要一个Infix表达式,将其转换为后缀表达式,然后评估。将中缀字符串转换为支持Java中mulidigit数字的后缀字符串
该问题源于实现多位数字。
我想过使用空格来表示多位数字,但我几乎肯定该方法不会帮助将Infix转换为Postfix,因为这只会帮助Postfix评估方法查看多位数字是什么,什么不是。
我只是需要帮助搞清楚如何做从中缀到后缀的转换。
我最近在我的一个类中被赋予一个赋值,要求我们创建一个计算器,该计算器需要一个Infix表达式,将其转换为后缀表达式,然后评估。将中缀字符串转换为支持Java中mulidigit数字的后缀字符串
该问题源于实现多位数字。
我想过使用空格来表示多位数字,但我几乎肯定该方法不会帮助将Infix转换为Postfix,因为这只会帮助Postfix评估方法查看多位数字是什么,什么不是。
我只是需要帮助搞清楚如何做从中缀到后缀的转换。
这只是一个扫描问题。它没有任何特定的与infix-postfix转换有关的东西。一次扫描一个字符当您遇到一个数字时,请在扫描中包含该令牌的每个后续数字。当下一件事不是一个数字时停止。它将成为操作员,或者为了完整性,而使用空白。如果是空格,忽略它(但是在终止数字字符串之后),否则将其返回给解析器。
你不需要空格,但是如果你有它们,它将有助于扫描,而不是用户,而不是评估方法。评估方法已经知道数字是什么,就像扫描仪所说的那样。
输入是怎样的?它是a + b还是a + b? – Sedrick
我可能应该指定它是a + b – amingst
搜索操作符索引的字符串。抓住操作员。然后在运算符上分割字符串。你最终将有三个部分。第一个号码,运营商和第二个号码。 – Sedrick