NullPointerException
Fermé
n4134
Messages postés
7
Date d'inscription
samedi 16 juin 2018
Statut
Membre
Dernière intervention
16 juin 2018
-
Modifié le 16 juin 2018 à 20:31
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 17 juin 2018 à 00:10
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 17 juin 2018 à 00:10
2 réponses
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
16 juin 2018 à 20:44
16 juin 2018 à 20:44
Bonjour,
En Java quand tu as une exception il y a la stack complète qui est affichée. Exemple :
L'information de cette stack est très importante pour retrouver l'erreur puisqu'elle t'indique la ligne exacte du code qui pose problème.
Dans Processing la ligne de code en question est même surlignée quand une exception est détectée.
Il serait donc utile que tu regardes déjà quelle ligne de code est concernée par l'erreur pour en déduire la cause du NullPointerException. Sachant que toutes les causes possibles sont documentées :
https://docs.oracle.com/javase/10/docs/api/java/lang/NullPointerException.html
En Java quand tu as une exception il y a la stack complète qui est affichée. Exemple :
Exception in thread "main" java.lang.NullPointerException
at Test.main(Test.java:42)
L'information de cette stack est très importante pour retrouver l'erreur puisqu'elle t'indique la ligne exacte du code qui pose problème.
Dans Processing la ligne de code en question est même surlignée quand une exception est détectée.
Il serait donc utile que tu regardes déjà quelle ligne de code est concernée par l'erreur pour en déduire la cause du NullPointerException. Sachant que toutes les causes possibles sont documentées :
https://docs.oracle.com/javase/10/docs/api/java/lang/NullPointerException.html
n4134
Messages postés
7
Date d'inscription
samedi 16 juin 2018
Statut
Membre
Dernière intervention
16 juin 2018
16 juin 2018 à 20:51
16 juin 2018 à 20:51
C'est pour la ligne 160 que j'ai un problème de pointeur, de ce fait pour la 161 aussi par déduction.
Mais j'ai toujours du mal à voir d'ou vient mon erreur.
Mais j'ai toujours du mal à voir d'ou vient mon erreur.
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
16 juin 2018 à 21:15
16 juin 2018 à 21:15
NullPointerException sur la ligne 160 :
Cela correspond à ce cas dans la documentation : "Accessing or modifying the slots of null as if it were an array."
tabX vaut null, donc tu ne peux pas accéder à une de ses cases, car tu n'as jamais initialisé le tableau.
À un moment dans ton code il faudrait que tu fasses
Et donc pareil pour tabY pour le NullPointerException sur la ligne 161.
tabX[cell] = Integer.toString(coordonneX);
Cela correspond à ce cas dans la documentation : "Accessing or modifying the slots of null as if it were an array."
tabX vaut null, donc tu ne peux pas accéder à une de ses cases, car tu n'as jamais initialisé le tableau.
À un moment dans ton code il faudrait que tu fasses
tabX = new String[42];(avec la taille que tu veux)
Et donc pareil pour tabY pour le NullPointerException sur la ligne 161.
n4134
Messages postés
7
Date d'inscription
samedi 16 juin 2018
Statut
Membre
Dernière intervention
16 juin 2018
16 juin 2018 à 21:20
16 juin 2018 à 21:20
D'accord je comprends mieux, merci.
Cependant la taille du tableau doit-elle être forcément fixe ? Car j'aurais voulu afficher un grand nombre de coordonnées.
Je vous remercie pour votre aide et votre explication !
Cependant la taille du tableau doit-elle être forcément fixe ? Car j'aurais voulu afficher un grand nombre de coordonnées.
Je vous remercie pour votre aide et votre explication !
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
>
n4134
Messages postés
7
Date d'inscription
samedi 16 juin 2018
Statut
Membre
Dernière intervention
16 juin 2018
16 juin 2018 à 21:26
16 juin 2018 à 21:26
Il n'est pas nécessaire de connaître le nombre d'éléments au moment de la compilation, tu peux le calculer à l'exécution, par contre une fois le tableau créé il ne peut pas être redimensionné, sa taille est définitive.
n4134
Messages postés
7
Date d'inscription
samedi 16 juin 2018
Statut
Membre
Dernière intervention
16 juin 2018
16 juin 2018 à 21:34
16 juin 2018 à 21:34
D'accord, merci beaucoup pour votre aide.
n4134
Messages postés
7
Date d'inscription
samedi 16 juin 2018
Statut
Membre
Dernière intervention
16 juin 2018
16 juin 2018 à 21:42
16 juin 2018 à 21:42
Cependant je rencontre un nouveau problème ligne 42 : "NumberFormatException: null".
Est-ce lié avec le problème précédant ?
Est-ce lié avec le problème précédant ?