Traiter des cartes en java avec une arraylist


Essentiellement, ce que les spécifications de la méthode impliquent est donc: supprimez le nombre spécifié de cartes du haut du paquet et renvoyez-les sous forme de tableau. Par exemple, si le paramètre est 4, les quatre premières cartes du jeu seront renvoyées sous la forme d'un tableau de taille 4. Maintenant, j'ai construit la méthode pour la plupart, mais je continue à obtenir une erreur, et de ma compréhension est liée au paramètre passé numCards. J'ai un peu de difficulté à détecter le bug. Tout des suggestions? Une autre note, j'utilise des tableaux dans cette méthode, mais comme vous pouvez le voir cards est de type ArrayList. ce.carte.toArray (small); attribue le contenu de cards au tableau small. Les cartes seront retirées de l'avant de la liste de" cartes", pas de l'arrière.

public Card[] deal(int numCards) {
        Card[] dealt = new Card[numCards]; 
          for (int i = 0; i < numCards; i++) {
           dealt[i] = cards.get(i); 
          }
          Card[] small = new Card[cards.size() - numCards]; 
          for (int i = 0; i < cards.size()-numCards; i++)
          {
           small[i] = this.cards.get(i); 
          }
          this.cards.toArray(small);
          return dealt; 
    }
Author: yarcenahs, 2016-11-18

1 answers

Vous ne prendrez pas les cartes du haut, puisque vous ne savez pas combien vous avez déjà pris, vous prenez la même chose tout le temps. Avez-vous pensé à prendre les cartes au lieu de les obtenir ?

public Card[] deal(int numCards) {
    Card[] dealt = new Card[numCards]; 
    for (int i = 0; i < numCards && !cards.isEmpty() ; i++) { //check for empty deck to prevent Exception
        dealt[i] = cards.remove(0); 
    }
    return dealt;
}

Cela supprimera les premières cartes et les mettra dans le tableau. J'ai utilisé 0 puisque le premier est supprimé, donc les secondes deviennent les premières.

Pour le tableau small. Je ne comprends pas ce que vous voulez faire depuis que vous avez dit ceci.carte.toArray (small); attribue le contenu des cartes au tableau small mais vous ne faites rien avec small.

 0
Author: AxelH, 2016-11-24 07:25:52