Я занимался этим дольше всего.Я не мог получить ответ.До сих пор моя программа печатает колоду карт, включая масти и ранги, но я должен перетасовать карты, установить счетчик и перебирать перемешанную карту, чтобы получить четыре карты.
Пример вывода:
Туз пик, Туз алмазов, Туз червей, Туз треф
Количество итераций (счетчик): 32562
public class Deck {
public static void main(String[] args) {
String[] SUITS = {
"Clubs", "Diamonds", "Hearts", "Spades"
};
String[] RANKS = {
"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"Jack", "Queen", "King"
};
// initialize deck
int n = 52;
String[] deck = new String[n];
for (int i = 0; i < RANKS.length; i++) {
for (int j = 0; j < SUITS.length; j++) {
deck[SUITS.length * i + j] = RANKS[i] + " of " + SUITS[j];
}
}
// shuffle
for (int i = 0; i < n; i++) {
int r = i + (int) (Math.random() * (n-i));
String temp = deck[r];
deck[r] = deck[i];
deck[i] = temp;
}
// print shuffled deck
for (int i = 0; i < n; i++) {
System.out.println(deck[i]);
}
}
}