これが私の問題です。チェックのためにメインメソッドで呼び出す String[] 変数を作成しています。変数を呼び出すたびに、新しいデッキが作成されます。メソッドと変数の両方で final を試しました。これは、シャッフル メソッドを持つ Dealer クラスです。助けてくれてありがとう。
package blackjack;
import java.util.*;
public class Dealer {
private Deck deck = new Deck();
private String[] deckArr = deck.deckArr;
private List list = new ArrayList<>(Arrays.asList(deckArr));
public String[] shuffDeck = shuffleDeck(deckArr);
private int count = 0 ;
public final String[] shuffleDeck(String[] deck) {
Collections.shuffle(list);
List<String> shufList = list;
deck = shufList.toArray(new String[shufList.size()]);
return deck;
}
public String deal() {
String dealtCard = null;
if (count < 52) {
dealtCard = shuffDeck[count];
}
else {
shuffleDeck(deckArr);
this.count = 0;
}
this.count++;
return dealtCard;
}
}
そして私の主な方法:ほとんどはテスト目的のためだけです。
package blackjack;
public class BlackJack {
public static void main(String[] args) {
Deck deck = new Deck();
Dealer dealer = new Dealer();
String str = dealer.deal();
for(int i = 0; i <52; i++)
System.out.println(dealer.shuffDeck[i]);
System.out.println();
System.out.println();
System.out.println(str);
}
}