Bonjour j'ai un problème en java, j'ai créé un tableau qui contient des objets qui correspondent à des tas de cartes pour un jeux de patience un klondike et je n'arrive pas en remplir les 7 paquets avec chacun de 1 à 7 cartes respectivement avec le stack de départ qui contient les 52 cartes car le compilateur me dit que decks[i] is null donc comment faire.
stack.to_string();
/*
* creation des 4 pieux et des 7 colonnes.
*/
final int pieux_count=4;
final int decks_count=7;
Stack [] pieux_4=new Stack[pieux_count];
Deck [] decks=new Deck[decks_count];
for(int i=0; i<decks_count; i++)
{
for(int j=0; j<i+1; j++)
{
decks[i].deck.get(j).add_card(stack, j);
}
}
et pour les objets, voilà le code de leur classe , en premier la classe Deck pou les 7 tas:
public abstract class Deck
{
protected ArrayList<Card>deck=new ArrayList<>();
/*
* Constructeur d'un paquet vide dans une classe mere dont heriteront d'autres classes chargees , soit de creer un paquet ou de recevoir des cartes avec des conditions.
*/
public Deck()
{
this.deck=new ArrayList<Card>();
}
Puis le stack, c'est-à-dire la pioche :
public class Stack extends Deck
{
public Stack(Deck_dealer full_cards_deck)
{
this.deck=full_cards_deck.deck;
}
j'ai rajouté dans la boucle for(int i=0...) decks[i]=new Deck(); mais le compilateur me met qu'il ne peut pas instancier type Deck
Quand tu crées un tableau en Java, il est automatiquement rempli avec des valeurs par défaut. Pour les nombres, c'est 0, pour les booléens, c'est false, pour les objets, c'est null.
Si tu veux remplir ton tableau de Decks, il faut le faire explicitement. Avec une boucle for, par exemple, tu dois instancier tes 7 Decks.
Forcément, Deck est abstract, et on ne peut pas instancier une classe abstraite, vu qu'elle est incomplète.
Pourquoi as-tu rendu Deck abstraite alors qu'elle n'a pas de méthode abstraite visiblement, si c'est juste pour prévenir l'instanciation, il suffit de mettre en constructeur de Deck en portée protected.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
PXL Le retro gaming facile Thread sur le forum: https://openclassrooms.com/forum/sujet/retro-pxl