IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Null Pointer Exception


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Par défaut Null Pointer Exception
    Salut,

    Je ne comprends pas ce qui se passe. J'ai une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Exception in thread "main" java.lang.NullPointerException
    	at Joueur.ajouteObjet(Joueur.java:29)
    	at Game.createMap(Game.java:67)
    	at Game.<init>(Game.java:28)
    	at Test.main(Test.java:18)
    J'ai testé mon code au fur et à mesure que je l'ai écrit. Je l'ai supprimé et réécris mais dès que j'ajoute la ligne :
    J'ai un NullPointerException. Et c'est pareil pour toutes les lignes qui touchent aux autres classes.

    D'après mes quelques recherches, NullPointerEdition serait un problème d'Allocation de mémoire... Etrange!

    Merci.

    La classe Joueur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    public class Joueur {
     
            private String nom;
            private ArrayList sac;
     
            /**
             * Constructeur
             *
             */
            public Joueur(String nom)
            {
                    this.nom = nom;
                    ArrayList sac = new ArrayList();
            }
     
            /**
             * Renvoie le nom du joueur
             * @return
             */
            public String getNom()
            {
                    return this.nom;
            }
     
            public void ajouteObjet(Objet unObjet)
            {
                    this.sac.add(unObjet);
            }
    }
    La classe Objet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class Objet extends Element
    {
    	public Objet (String nom, String description)
    	{
    		super(nom, description);
    	}
     
    	public String getNom()
    	{
    		return super.nom;
    	}
    }

  2. #2
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList sac = new ArrayList();
    par

  3. #3
    Membre éclairé Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Par défaut
    Ohlala... Y'en a qui méritent des baffes!

    Merci.

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    public class Joueur {
           
            private String nom;
            private ArrayList sac;
           
            /**
             * Constructeur
             *
             */
            public Joueur(String nom)
            {
                    this.nom = nom;
                    ArrayList sac = new ArrayList(); ICI la source de ton erreur
            }
    
            public void ajouteObjet(Objet unObjet)
            {
                    this.sac.add(unObjet); // ICI L'ERREUR CAR this.sac == null
            }
    }
    ArrayList sac = new ArrayList(); => l'objet sac que tu instancies est un objet local qui n'existe que dans ton constructeur. Dès que tu en sors, il disparaît, et ta variable de classe sac reste à null

    Donc à remplacer par this.sac = new ArrayList();

    EDIT: ARGH!!! Encore grillé!
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  5. #5
    Membre éclairé Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Par défaut
    Merci, Merci!



    Le pire c'est que ça m'arrive souvent cette erreur, mais d'habitude, je m'en rends compte tout seul...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tomcat 5.5 Null Pointer Exception
    Par nono44200 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 07/04/2007, 10h00
  2. Null pointer Exception pour ma Fenetre
    Par LeXo dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 22/01/2007, 09h17
  3. Null Pointer Exception
    Par gloglo dans le forum Langage
    Réponses: 4
    Dernier message: 20/12/2006, 11h32
  4. [Struts] Null Pointer Exception
    Par n@n¤u dans le forum Struts 1
    Réponses: 1
    Dernier message: 01/08/2006, 13h10
  5. Null Pointer Exception
    Par snouppy dans le forum JBuilder
    Réponses: 3
    Dernier message: 13/06/2006, 21h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo