2015-12-07 32 views
1

我想做一個紙牌遊戲。在一個班級中,我有辦法爲一名球員和一名經銷商製作一手牌,而在另一個班級我正在執行這項遊戲。我的問題是,當試圖爲我的玩家制作一個陣列列表時,我無法調用一個無效的方法來將列表添加到列表中,並且我不確定如何在沒有錯誤的情況下執行此操作。無法在數組列表中調用void方法?

回答

0

deck.remove()是一個令人不快的無效方法。你正在使用deck.remove,就好像它會返回一些東西,並且會傳遞給addCards。

+0

remove方法將返回的東西!它返回從卡組中移除的卡C – Razar

1

addCards方法是一種無效的方法。因此它不會返回任何東西。但是在代碼中,你試圖將它分配給一個變量。這是一個編譯錯誤。 刪除該分配部分。

+0

但是,如果我簡單地從前一個類調用addCards方法,在這種情況下輸入,那麼如何將卡適配到ArrayList? – Razar

+0

這取決於你的設計,你想用addCards方法做什麼? –

+0

我想爲玩家生成一張牌,就像在撲克中一樣。所以我試圖給ArrayList播放器2張牌立即,這些卡片將來自一個卡片從甲板上並將它們發送到ArrayList – Razar

0

假設CardPile具有檢索它的卡(通過getter方法或東西)的手段,那麼我不明白爲什麼你不能只是這樣做:

input.addCards(deck.remove(0)); 
player.add(input.pop()); // or whatever the getter method for `CardPile` is 
+0

我收到編譯器錯誤,說我無法將ArrayList 轉換爲卡片 – Razar

+0

對於您的代碼的第二行* – Razar

+0

您是否可以編輯您的問題併發布您正在使用的所有代碼?根據您在問題中列出的各個代碼片段的方式來了解什麼是非常困難的。只需發佈整個源文件(s)。 – Mike

相關問題