Partage
  • Partager sur Facebook
  • Partager sur Twitter

NullPointerException

Sujet résolu
    16 janvier 2019 à 17:31:25

    Bonjour je suis actuellement de faire un programme sur une entreprise virtuel pour calculer automatiquement le salaire des employées stocker dans une collection Staff. Mais voila j'ai un soucis 

    J'ai essayé plusieurs truc mais à chaque fois il me renvoie la même erreur.

    J'ai essayé de mettre une condition comme quoi si la collection était null il renvoyait une erreur.

    J'ai essayé aussi de mettre une limite à la collection mais rien n'y fait.

    • Partager sur Facebook
    • Partager sur Twitter
      16 janvier 2019 à 17:37:08

      Salut ! N'ayant pas tout le code sous les yeux je peux pas dire exactement d'où vient le problème, mais il semblerait que ta case staff[i] n'est pas initialisée. Peux-tu nous montrer comment tu initialises ton tableau de staff ?

      -
      Edité par RhydanOtaku 16 janvier 2019 à 17:37:28

      • Partager sur Facebook
      • Partager sur Twitter

      Si debugger, c’est supprimer des bugs, alors programmer ne peut être que les ajouter.

        16 janvier 2019 à 17:50:09

        Est-ce que tu ajoutes des employés quelque part ?

        EDIT

        Ah ça y'est je sais. Lorsque tu ajoutes un employé, tu incrémentes d'abord ta variable "nbreEmploye". Ce qui fait que lorsque tu ajoutes ton premier employé, il se situe à l'indice 1 de ton tableau, et non à l'indice 0, d'où le NullPointerexception. Ce que tu peux faire, c'est soit intervertir tes deux lignes, soit écrire de manière plus compact (et plus élégante à mon goût) :

        staff[nbreEmployee++] = employe;



        -
        Edité par RhydanOtaku 16 janvier 2019 à 17:53:50

        • Partager sur Facebook
        • Partager sur Twitter

        Si debugger, c’est supprimer des bugs, alors programmer ne peut être que les ajouter.

          16 janvier 2019 à 17:55:37

          J'ai une classe Employé avec un constructeur et qui fait hériter plusieurs classe comme vente ...
          • Partager sur Facebook
          • Partager sur Twitter
            16 janvier 2019 à 17:55:42

            Ah ça y'est je sais. Lorsque tu ajoutes un employé, tu incrémentes d'abord ta variable "nbreEmploye". Ce qui fait que lorsque tu ajoutes ton premier employé, il se situe à l'indice 1 de ton tableau, et non à l'indice 0, d'où le NullPointerexception. Ce que tu peux faire, c'est soit intervertir tes deux lignes, soit écrire de manière plus compact (et plus élégante à mon goût) :

            staff[nbreEmployee++] = employe;



            • Partager sur Facebook
            • Partager sur Twitter

            Si debugger, c’est supprimer des bugs, alors programmer ne peut être que les ajouter.

              16 janvier 2019 à 18:01:06

              Effectivement je te remerci mon problème est résolue et plutot rapidement =) et par manière plus compact qu'est-ce que tu proposerais?
              • Partager sur Facebook
              • Partager sur Twitter
                16 janvier 2019 à 18:16:04

                De rien :)

                C'est justement ça la manière plus compacte : 

                staff[nbreEmployee++] = employe;

                Tu aurais pu sinon le faire sur deux lignes :

                staff[nbreEmployee] = employe;
                nbreEmployee++;




                • Partager sur Facebook
                • Partager sur Twitter

                Si debugger, c’est supprimer des bugs, alors programmer ne peut être que les ajouter.

                NullPointerException

                × 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.
                • Editeur
                • Markdown