2012-01-23 67 views
-5

好吧,它看起來不可能。但是,我怎樣才能評估一個後綴表達式,而沒有在數字堆棧中的運算符?用Java中的混合類型創建數組列表

好的:我會再試一次。

我想構建一個基本的計算器。用戶將寫入輸入數字。我想將這些添加到堆棧(列表)中,當用戶點擊/寫入執行時,程序應該以後綴方式評估它。

+1

您需要提供更多有關此問題的信息,以任何有意義的方式進行回答。 – Jesper

回答

4

創建一個ExpressionToken的基類並讓NumberToken和OperatorToken擴展它。將ArrayList參數化爲ExpressionTokens的列表。

0

您可以簡單地創建ObjectArrayList秒,然後把你希望內部的任何類型:

List<Object> list = new ArrayList<Object>(); 

現在你可以添加任何東西。當您提取你會得到一個Object回來,所以一定要測試的實際類型:

if(list.get(i) instanceof Number) { 
    // 
} else if(list.get(i) instanceof Operator) { 
    // 
} 

這是假設你有類NumberOperator在你的程序分別代表一個號碼,運營商定義的。

+0

爲什麼downvote? – Tudor

+0

創建「對象」列表並添加投射會使代碼更難跟蹤,更容易出錯並且通常是不好的做法。 – Vadim