Problème java.lang.NullPointerException - Java - Programmation
Marsh Posté le 19-01-2011 à 22:06:26
Dans ton controleur, c 'est quoi "metier", parce qu'on dirait qu'il n'est pas instantié, et vaut donc null
Marsh Posté le 19-01-2011 à 22:11:24
Oui, je ne l'ai pas mis mais il est instancié dans une methode dans Controleur
Le code complet va être posté juste en dessous.
Marsh Posté le 19-01-2011 à 22:13:22
code complet ( c'est plus simple ) :
Code :
|
Code :
|
Marsh Posté le 19-01-2011 à 22:55:06
valoutux a écrit :
|
Cette initialisation ne va initialiser la variable metier de l'objet controleur (this.metier), mais un variable temporaire. Donc, this.metier est null, d'ou l'exception.
Il faut donc faire:
Code :
|
Marsh Posté le 19-01-2011 à 23:04:42
Par ailleurs, apprenez a utiliser un debugger!!! Ce genre d'erreur se detecte et se corrige en ... 30 secondes ?
Je n'ai jamais compris pourquoi aucun prof d'informatique ne montre comment s'en servir. C'est pourtant un outils primordial pour le developpeur (et ce n'est pas comme si avec Eclispe, NetBeans ou Visual se soit difficile !!!)
Marsh Posté le 19-01-2011 à 23:13:32
ou même sans debugger ... tu y vas à grands coups de System.out.print et tu t'en sors .... Ahh ces jeunes qui savent plus se débrouiller par eux-mêmes
Marsh Posté le 19-01-2011 à 23:31:05
On l'a fait le debugger par System.out.print mais cela nous menaient sur une fausse piste Merci bien en tout cas !
Marsh Posté le 19-01-2011 à 23:40:35
esox_ch a écrit : ou même sans debugger ... tu y vas à grands coups de System.out.print et tu t'en sors .... Ahh ces jeunes qui savent plus se débrouiller par eux-mêmes |
Bien sur ... mais apprendre a utiliser un debugger n'est jamais du temps de perdu !
Marsh Posté le 19-01-2011 à 21:54:18
Bonsoir,
Etant en iut informatique, cette semaine nous avons un projet consistant à réaliser un "snake".
Mais lorsque je veux exécuter mon programme il me met
"Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException (AWT-EventQueue-0 doit etre une methode des classes que les profs nous ont donné pour l'interface graphique)
at Controleur.getNbLigne(Controleur.java:69)
et plein d'autre ligne qui résulte de ça.
Donc moi, j'ai crée deux classes: Controleur et Metier
public class Controleur
{
public Controleur()
{
Metier metier = new Metier(5,5,11,11);
...
}
public int getNbLigne ()
{
return metier.NbLigne(); //endroit où ça bloque
}
}
public class Metier
{
private int tailleLig, tailleCol;
public Metier ( int lig, int col, int tailleLig_, int tailleCol_ ) //constructeur Metier
{
tailleLig = tailleLig_ ;
...
}
public int NbLigne()
{
return (tailleLig);
}
}
Je ne comprends pas l'erreur surtout que si on remplace tailleLig par une valeur quelconque, il n'y a pas d'erreur...
Merci d'avance.
(Désolé pour la présentation c'est pas très clair )
Message édité par Guillaumux le 19-01-2011 à 22:14:07