を削除私は小さなカードゲームを記述しようとしていますとなっている私は、オブジェクトの配列リストをクラスのデッキを作成し、それにJAVA ArrayListのソートとペア
を立ち往生、各オブジェクトは、で構成される演奏デッキにカードを1枚表しストリングスーツ、ストリング名、および2-14のint値。 私は2つの追加の配列リスト、player1とplayer2でゲームのための別のクラスを作成し、各プレイヤーにArrayListのデッキからカードを「対処」。います私はゲームをプレイし続けることができ 前に、私は両方player1とplayer2のArrayListからすべてのペアを削除する必要があります。
私はgetValue()メソッドでarraylistをソートしようとしていましたが、player1.getValue(i).equals(player1.getValue(i + 1))を使用してarraylistを繰り返して2回取り除きました。
private 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
私はメソッドのソートは()メソッドは、5行目の任意の提案、この作品を作る上で定義されていないのgetValueだけでなく、2行目にArrayListには適用されないエラーが発生します?私はただのArrayList
は' Card'は '' Comparableを実装する必要があります。あなたは 'カード'クラスを見せていただけますか? –
4castle
あなたの説明であなたが言うように 'getValue'ではなく' getFaceValue'を呼び出します。それは意図的なのでしょうか? – forgivenson
オブジェクトカードをコンパレータでソートします。 –