Поскольку вы не опубликовали код, я буду считать, что Deck - это класс с двумя атрибутами (ранга и масти).
Вы захотите создать метод для этого класса, который заставит его печатать сам (например, «Ace of Spades» или «Jack of Hearts»). Вам также понадобится метод, который возвращает костюм.
Оттуда вы перебираете свой массив и вызываете этот метод на каждом узле, который удовлетворяет требуемой масти
Редактируйте, так как код был опубликован:
Логика c сама по себе кажется некорректной вы перебираете handSize, проверяя, находится ли масть number в handArray. Это серьезная проблема, поскольку handArray - это массив Card , а не массив int .
Существует несколько способов исправить это, более простые: :
Простейший: итерируйте по массиву handArray вручную, проверяя, совпадает ли масть с любой из карт
Быстрее: создает массив размера 4, со всеми значениями, инициализированными как false, представляющими, находится ли костюм в handArray.
Теперь, когда с оператором if обращаются, мы должны исправить его код. На данный момент вы проверяете, подходит ли я в Массиве, и добавляете к нему карту top .
Лучшим вариантом действий здесь будет отказ от l oop, заменив его на что-то вроде этого:
while(ArrayList.size()){
/* code */
}
Это будет l oop массив из-за того, как работает top, так как он удаляет верхнюю карту