Вы указываете,
Теперь мне нужно объединить их в массив под названием Deck, который стоит как таковой:
blockquote>Нет, вам нужно создайте карту класса, в которой есть одно поле каждого перечисления. Только после этого вы можете создать палубу своих карт. Итак, сделайте это - создайте класс карты, дайте ему по крайней мере два поля, по одному для каждого перечисления, плюс подходящий конструктор, плюс геттеры, плюс приличный
toString()
, а затем вы установите.Кроме того, это неверно:
public void fill() { for (int i = 0; i<52;i++){ // get rid of this loop for (Suit s : Suit.values()) { for (Rank r : Rank.values()) { cards[i]= new Card(r,s); }
В приведенном выше коде будет поставлено 52 карты в каждое индексное пятно. Например, он попытается набить все 52 карты в место карты [0], то же самое для элемента карты [1], и будет добавлена только последняя карта. У вас будет массив из 52 King of Diamonds - не то, что вы хотите.
Вместо этого избавиться от внешнего цикла и вместо этого увеличить i внутри вашего цикла:
public void fill() { int i = 0; for (Suit s : Suit.values()) { for (Rank r : Rank.values()) { cards[i]= new Card(r,s); i++; // increment i here } } }