Exception in thread "main" java.lang.NullPointerException

maxxou56 Messages postés 53 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 15 février 2010 - 26 sept. 2009 à 22:17
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 - 28 sept. 2009 à 01:19
Bonjour à tous, j'ai une erreur que je n'arrive pas à résoudre, si quelqu'un pouvait m'aider.

public static boolean insertion (Doublet Dbt, int taille, Doublet [] tab){
boolean Bool = true;
for (int i = 0; i < taille; i++)
if (tab[i].x == Dbt.x && tab[i].y == Dbt.y){ /**/
Bool = false;
}
return Bool;
}
A voir également:

3 réponses

Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
27 sept. 2009 à 18:32
Un NullPointerException arrive quand tu essais d'utiliser un élément qui a comme valeur null comme un objet. Dans ton tableau d'objet, je suis près à parier qu'il y a un élément qui a comme valeur null.

Tu peux toujours rajouter une protection de ce genre pour éviter d'avoir cette erreur :

public static boolean insertion (Doublet Dbt, int taille, Doublet [] tab){
    boolean Bool = true;
    
    for (int i = 0; i < taille; i++) {
        if (tab[i] == null) continue;
        if (tab[i].x == Dbt.x && tab[i].y == Dbt.y){ /**/
            Bool = false;
        }
    }
    
    return Bool;
} 
0
maxxou56 Messages postés 53 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 15 février 2010
27 sept. 2009 à 21:48
Voici mon code, est ce que quelqu'un peut me dire ce qui est null.



Doublet Dbt = new Doublet(x,y);
Dbt.x = x;
Dbt.y = y;
if (insertion(Dbt,longt,t)== true) {
t[longt].x = Dbt.x;
t[longt].y = Dbt.y;
longt = longt + 1;
triTab(longt,t);
}
0
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
28 sept. 2009 à 01:19
Ton tableau il est initialisé où, comment ? Ta valeur longt elle est initialisée avec quelle valeur, elle est modifiée où ?

Ton problème selon moi c'est bien plus que ces lignes de code. Tu devrais vérifier si rendu là ton tableau ne contient pas de valeur null et si la valeur longt est exacte.

Un petit debug du genre te donneras ces informations :

for (int i=0; i<longt; i++) {
    System.out.println(t[i]);
}
0
Rejoignez-nous