Я делаю базовую колоду карт на данный момент, и я столкнулся с проблемой с использованием перечислений.Типы перечислений могут не быть введены в действие ошибки
Как исправить следующую ошибку (типы перечислений не может быть обработан) в моем коде и получить значение, присвоенное каждому перечислимого
public enum Rank {
ACE(14),
KING(13),
QUEEN(12),
JACK(11),
TEN(10),
NINE(9),
EIGHT(8),
SEVEN(7),
SIX(6),
FIVE(5),
FOUR(4),
THREE(3),
TWO(2);
private final int rankValue;
Rank(int rankValue) {
this.rankValue = rankValue;
}
public int getRankValue() {
return rankValue;
}
}
private Card[] cards = new Card[52];
public Deck() {
int posInDeck = 0;
for (Suit s : Suit.values()) {
for (Rank r : Rank.values()) {
cards[posInDeck] = new Card(s.toString(),new Rank(r.getRankValue(), r.toString()), false);// ERROR HERE
posInDeck++;
}
}
}
«Как исправить следующую ошибку», что ошибка? Предоставьте сообщение об ошибке и ** короткий, но полный ** код позволит нам воспроизвести его. На данный момент похоже, что этот фрагмент кода является частью класса 'Deck', но я могу только предполагать его только на уровнях отступов и имени конструктора. – Pshemo
Почему бы не определить только значения в вашем перечислении 'Rank' и передать' Rank.ACE' конструктору вашей 'Card' (и отредактировать поле/getter/setter в' Card' соответственно? Создание экземпляра перечисления не делает потому что перечисление представляет собой статический набор значений. – Stefan