В моей функции воспроизведения в случайном порядке палубе,Получение ошибки typemismatch при попытке передать логический аргумент
public void shuffleDeck(){
Random rng = new Random();
for(int i = 0; i < shuffledDeck.length; i++){
deckOfCards[i] = shuffledDeck[rng.nextInt(52)].setFlag(true);
Я хочу, чтобы пройти через все 52 карт, и перетасовать их быть рандомизации их расположение в другой массив. Однако, чтобы предотвратить перезапись одной и той же карты, я написал функцию setFlag в другом классе, которая принимает логический аргумент, а затем я буду использовать это, чтобы проверить, установлен ли флаг и так далее. Однако в последней строке я получаю сообщение об ошибке «Тип несоответствия: невозможно конвертировать из void в карту» ... совсем не уверен, почему я получаю эту ошибку.
Карточка c = shuffledDeck [rng nextInt (52)]; c.setFlag (истина); deckOfCards [I] = с; –
setFlag - это функция, а shuffledDeck - массив. Вы не можете вызывать функцию с помощью массива. – AlphaQ
то как это работает? DeckOfCards [cardCount] .setSuit (костюм [suitCount]); deckOfCards [cardCount] .setFace (face [faceCount], faceValue); – ComradeSpaceMan