Java.long.nullPointerException
Résolu/Fermé
marybele86
Messages postés
9
Date d'inscription
vendredi 30 décembre 2011
Statut
Membre
Dernière intervention
1 mai 2012
-
30 déc. 2011 à 20:32
marybele86 Messages postés 9 Date d'inscription vendredi 30 décembre 2011 Statut Membre Dernière intervention 1 mai 2012 - 30 déc. 2011 à 21:03
marybele86 Messages postés 9 Date d'inscription vendredi 30 décembre 2011 Statut Membre Dernière intervention 1 mai 2012 - 30 déc. 2011 à 21:03
4 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
30 déc. 2011 à 20:38
30 déc. 2011 à 20:38
Bonjour,
Quand tu écris ceci :
A[i].name=a.name;
A[i].tel=a.tel;
A[i] n'a jamais été instancié.
Il faudrait d'abord faire A[i] = new Abonne();
Voire remplacer simplement les deux lignes par
A[i] = new Abonne(a.name, a.tel);
Xavier
Quand tu écris ceci :
A[i].name=a.name;
A[i].tel=a.tel;
A[i] n'a jamais été instancié.
Il faudrait d'abord faire A[i] = new Abonne();
Voire remplacer simplement les deux lignes par
A[i] = new Abonne(a.name, a.tel);
Xavier
tarek_dotzero
Messages postés
817
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
12 avril 2022
122
30 déc. 2011 à 20:39
30 déc. 2011 à 20:39
Pour avoir plus d'information il est préférable d'utiliser:
au lieu de:
Cela vous permettra d'obtenir la ligne exacte qui provoque l'erreur qui est (probablement) un objet non-initialisé.
e.printStackTrace();
au lieu de:
System.out.print(e);
Cela vous permettra d'obtenir la ligne exacte qui provoque l'erreur qui est (probablement) un objet non-initialisé.
tarek_dotzero
Messages postés
817
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
12 avril 2022
122
30 déc. 2011 à 20:42
30 déc. 2011 à 20:42
Bonjour,
Je pense que la méthode suivante contient une erreur d'initialisation:
En effet, l'instruction:
de déclaration ne crée par trois objets mais un tableau de trois "null" et lorsque vous essayez:
l'exception est provoquée parce que A[i] est "null" alors il est impossible de faire null.a = ...
Il faut réinitialiser votre tableau avec trois nouveau Abonne avant de faire les affection ou de le créer sur le champs:
Bon Courage.
Je pense que la méthode suivante contient une erreur d'initialisation:
public String addAbonne(Abonne a)throws RemoteException { if(i<=nmax) { A[i].name=a.name; A[i].tel=a.tel; i=i+1; return "true"; } else return "false"; }
En effet, l'instruction:
Abonne A[]=new Abonne[3];
de déclaration ne crée par trois objets mais un tableau de trois "null" et lorsque vous essayez:
A[i].name=a.name;
l'exception est provoquée parce que A[i] est "null" alors il est impossible de faire null.a = ...
Il faut réinitialiser votre tableau avec trois nouveau Abonne avant de faire les affection ou de le créer sur le champs:
public String addAbonne(Abonne a)throws RemoteException { if(i<=nmax) { A[i] = new Abonne(); A[i].name=a.name; A[i].tel=a.tel; i=i+1; return "true"; } else return "false"; }
Bon Courage.
marybele86
Messages postés
9
Date d'inscription
vendredi 30 décembre 2011
Statut
Membre
Dernière intervention
1 mai 2012
30 déc. 2011 à 21:03
30 déc. 2011 à 21:03
Mercii Infiniment pour ton aide. C'est Bon mon application marche :)
marybele86
Messages postés
9
Date d'inscription
vendredi 30 décembre 2011
Statut
Membre
Dernière intervention
1 mai 2012
30 déc. 2011 à 21:02
30 déc. 2011 à 21:02
Merci Pour votre aide :)
30 déc. 2011 à 21:03