Java Episode VII: Le retour du pointeur null

Discutez d'informatique ici !
Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 18:42

Java Episode VII: Le retour du pointeur null

par Rockleader » 16 Avr 2015, 16:34

Je dois surement être fatigué mais je ne comprends pas ce qui provoque ce pointeur null :marteau:


Le main

Code: Tout sélectionner
Intersection tab[]=new Intersection[4];
      tab=i[0].getIntersectionClose(g);
      for(Intersection iTest:tab){
         System.out.print(iTest.getNumIntersection(g)+"  ");
      }


Et la fonction du get

Code: Tout sélectionner
public Intersection[] getIntersectionClose(Goban g){
      //4 car nombre d'intersection proche maximum; peu importe la taille du goban
      Intersection tab[]=new Intersection[4];
      int k=0;
      for(int currentRow=0;currentRow<g.getSize();currentRow++) {
         for(int currentColumn=0;currentColumn<g.getSize();currentColumn++) {
            Intersection i=new Intersection(currentRow,currentColumn);
            if(this.isIntersectionClose(i, g)) {
               tab[k]=i;
               k++;
            }
         }
      }
      return tab;
      
      
   }



Quand j'exécute mon main, il me retourne ce résultat

1 9 Exception in thread "main" java.lang.NullPointerException
at Goban.main(Goban.java:90)


Donc j'ai bien mes intersections proche de l'intersection 0...mais je prends quand même une erreur de pointeur null derrière ! A quoi cela peut il être dû ?




En fait la raison je la connais c'est parce que dans certains cas ma taille est inférieure à 4.

Mais pourtant je pensais qu'en faisant un foreach sur mon tab il ne parcourait que la taille effective du tableau...
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !



 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite