Probleme avec un .add() dans une array liste (je pense)

Résolu
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 28 févr. 2009 à 13:33
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 28 févr. 2009 à 19:21
Bonjour a tous, je suis débutant en JAVA et, j'ai un problème avec un add dans une arraylist, et je ne vois pas du tout quoi faire. Je créer un programme qui génére un paquet de cartes, j'ai déja une classe carte qui crée un objet Carte.

Quand je lance mon code eclipse me signale l'erreur
Exception in thread "main" java.lang.NullPointerException
    at jeu.PaquetCarte.(PaquetCarte.java:16)
    at jeu.Speed.main(Speed.java:6)

ce qui indique que la ligne 16 est mauvaise (j'ai surligné cette ligne)
ou que l'erreur est dans le main, également surligné

Je vous donne mon code:

package jeu;

import java.util.ArrayList;

public class PaquetCarte extends ArrayList<Carte> {
    private String nomPaquet;
    private ArrayList<Carte> cartesDuPaquet= null;
    private static byte NBR_CARTE=72;
   
   
   
    public PaquetCarte(String nomPaquetEntre) {
        nomPaquet=nomPaquetEntre;
        for (int compteur = 0 ;compteur<Carte.getNBR_FORMES();compteur++){
            Carte carte = new Carte(compteur,1,1);
            cartesDuPaquet.add(carte); ///////l'erreur est sur cette ligne.//////////////////////////////////////////////
        }
       
    }

        public String toString(){
            String res = "";
            for ( Carte c : cartesDuPaquet ) {
                res += c.toString();
                res += "\n"; //passage à la ligne
            }
            return res;
        }
   
}

package jeu;

public class Speed {

    public static void main(String[] args) {
        PaquetCarte paquet1=new PaquetCarte("paquet"); //////////////////////////////////l'erreur est ici
        System.out.println(paquet1.toString());
    }

}

Merci a tous

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 févr. 2009 à 13:49
Salut,

public PaquetCarte(String nomPaquetEntre) {
        nomPaquet= nomPaquetEntre;
        cartesDuPaquets = new ArrayList<Carte>;   // sinon ta collection n'est pas instanciée !
       for (int compteur = 0 ;compteur<Carte.getNBR_FORMES();compteur++){
            Carte carte = new Carte(compteur,1,1);
            cartesDuPaquet.add(carte);
        }
       
    }
______________________________________
DarK Sidious
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 févr. 2009 à 17:32
Salut,

Il manque juste les parenthèses :
cartesDuPaquets = new ArrayList<Carte>();
______________________________________
DarK Sidious
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
28 févr. 2009 à 13:58
désolé mais ca ne fonctionne pas, eclipse détecte une erreur, j'ai initialisé avec
private ArrayList<Carte> cartesDuPaquet; un peu plus haut.... Je ne sais plus quoi faire...
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
28 févr. 2009 à 19:21
merci infiniment.
0
Rejoignez-nous