我試圖寫一個小紙牌遊戲,並已成爲卡住JAVA ArrayList的排序和刪除對
我創建了一個類甲板和其對象的ArrayList,每個對象表示播放甲板由1張卡一個字符串套件,字符串名稱和一個2-14的int值。 我爲另外一個遊戲類別創建了2個額外的數組列表,玩家1和玩家2,然後將數組中的牌「處理」給每位玩家。 在我繼續玩遊戲之前,我需要從player1和player2 arraylist中刪除所有對。 (i).equals(player1.getValue(i + 1)),然後刪除(i)兩次
(我已經嘗試使用我的getValue()方法對arraylist進行排序,然後遍歷arraylist使用player1.getValueprivate void removePlayer1Pairs(ArrayList<Card> player1) {
Collections.sort(player1);
int i = 0;
while(i < player1.size() - 1){
if(player1.getFaceValue(i).equals(player1.getFaceValue(i+1))){
player1.remove(i);
player1.remove(i);
i = Math.max(0, (i - 1));
}
else{
i++;
}
}
}//end removePlayer1Pairs
我收到錯誤的方法排序並不適用於第2行的ArrayList和的getValue()方法是未定義的第5行的任何建議,使這項工作?我剛學的ArrayList
對於'Collections.sort'工作,'Card'需要'實現Comparable'。你可以請出示你的'卡'級嗎? –
4castle
您在描述中聲明時調用'getFaceValue',而不是'getValue'。那是故意的嗎? – forgivenson
用比較器對對象卡進行排序。 –