Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
716 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  threads et exceptions sur java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

threads et exceptions sur java

n°2184131
lagune_alg​ue
Posté le 04-04-2013 à 16:09:47  profilanswer
 

Bonjour,
 
J'ai un souci avec un programme java.
 
Eclipse me donne l'erreur suivante :
 
Exception in thread "main" java.lang.NullPointerException
 at com.Labyrinth.Plateau.<init>(Plateau.java:29)
 at com.Labyrinth.Labyrinth.main(Labyrinth.java:312)
 
Voici pour plateau:
 
public  Plateau(int h){
  hauteur=h;
  int v=h*h;
     
     for(int i=0;i<h;i++)
     {
      for(int j=0;j<h;j++)
      {
       plat[i][j]=new Case(v, 'X');
      }
     }  
 }
 
et pour le main :
 
                System.out.println("Entrez la hauteur " );
  int nombre = new Scanner(System.in).nextInt();
   
  Plateau unplateau=new Plateau(nombre);
 
cordialement
 

mood
Publicité
Posté le 04-04-2013 à 16:09:47  profilanswer
 

n°2184171
willy le k​id
Posté le 04-04-2013 à 17:24:14  profilanswer
 

C'est quoi la ligne 29 de Plateau ? Et la ligne 312 de Labyrinth ?

n°2184231
lagune_alg​ue
Posté le 04-04-2013 à 21:02:20  profilanswer
 

Plateau unplateau=new Plateau(nombre), c'est la 314.
 
29, c'est plat[i][j]=new Case (v, 'X');
 
Cordialement

n°2184233
Farian
Posté le 04-04-2013 à 21:17:23  profilanswer
 

Bonjour !
 
Comment avez-vous déclaré et initialisé votre attribut "plat" ? Car pour accéder à l'élément (i,j) il faut avoir alloué un minimum de choses ...
 
Bon courage !

n°2184259
lagune_alg​ue
Posté le 05-04-2013 à 09:27:39  profilanswer
 

Voici comment je déclare dans la classe Plateau en haut mes attributs :
 
        private Case[][] plat;
 private int hauteur;  
 
Je ne sais pas si je dois faire autre chose. Cordialement

n°2184369
Farian
Posté le 05-04-2013 à 20:01:02  profilanswer
 

Bonsoir !
 
Logiquement, vous devez d'abord définir les dimensions de votre tableau "plat" :  

Code :
  1. plat = new Case[h][h];


avant votre boucle, sinon, le pointeur "plat" est nul quand vous l'utilisez dans la boucle.
 
Bonne continuation !


Message édité par Farian le 05-04-2013 à 20:01:51
n°2184434
lagune_alg​ue
Posté le 06-04-2013 à 08:59:14  profilanswer
 

merci, maintenant c'est une autre faute, ce qui montre que le problème est résolu,  
 
merci.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  threads et exceptions sur java

 

Sujets relatifs
OutOfMemoryError: Java heap space comment resoudre?lecture d'un fichier java .nio
découper une chaine de caractères d'un fichier en javaexecution de script shell sous java avec shell.adiguba
des exceptions déclenchées sans raison[java]MyBatis - Utilisation de DAO génériques
Traduire un algorithme sous java.Visibilité package en java
performance dans le développement JAVA EERecrute IED Java/J2EE Alsace
Plus de sujets relatifs à : threads et exceptions sur java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR