2017-02-27 52 views
0

我最近在我的一個類中被賦予一個賦值,要求我們創建一個計算器,該計算器需要一個Infix表達式,將其轉換爲後綴表達式,然後評估。將中綴字符串轉換爲支持Java中mulidigit數字的後綴字符串

該問題源於實現多位數字。
我想過使用空格來表示多位數字,但我幾乎肯定該方法不會幫助將Infix轉換爲Postfix,因爲這隻會幫助Postfix評估方法查看多位數字是什麼,什麼不是。

我只是需要幫助搞清楚如何做從中綴到後綴的轉換。

+0

輸入是怎樣的?它是a + b還是a + b? – Sedrick

+0

我可能應該指定它是a + b – amingst

+0

搜索操作符索引的字符串。抓住操作員。然後在運算符上分割字符串。你最終將有三個部分。第一個號碼,運營商和第二個號碼。 – Sedrick

回答

0

這只是一個掃描問題。它沒有任何特定的與infix-postfix轉換有關的東西。一次掃描一個字符當您遇到一個數字時,請在掃描中包含該令牌的每個後續數字。當下一件事不是一個數字時停止。它將成爲操作員,或者爲了完整性,而使用空白。如果是空格,忽略它(但是在終止數字字符串之後),否則將其返回給解析器。

你不需要空格,但是如果你有它們,它將有助於掃描,而不是用戶,而不是評估方法。評估方法已經知道數字是什麼,就像掃描儀所說的那樣。

+0

如果數字是浮點數,會發生什麼? – Sedrick

+0

@SedrickJefferson我假設你的意思是'真實數字'。要實現這些功能,如果您停在小數點上,您將繼續掃描是否存在以下數字,但在問題中沒有提及實數。 – EJP

+0

在我的方法中,如果您在運營商上分拆,您將擁有所需的兩個號碼。 – Sedrick