Java.lang.NullPointerException

Résolu
LinaMas Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
LinaMas Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -
salut
je veux mettre le contenu d'un tableau dans un autre
voila le code que je réalise mais il ne marche pas
String line = lines.nextLine();
             StringTokenizer s = new StringTokenizer(line, " ");
             String tokens[] = new String[s.countTokens()];
                        
                         String []tabDeMot ;
                         tabDeMot = null;
   
while (s.hasMoreTokens()) {
                
                 
                                   tokens[j]=s.nextToken();
                                
                                 
                                 for(int i=0;i<tokens.length;i++){
                                     tabDeMot[i]=tokens[j];
                                 }
                                 j++;                                          
                           
                        }System.out.println(tabDeMot);

                      
    }
             lines.close();
       
    } corpus.close();}}

et voila l'affichage
Exception in thread "main" java.lang.NullPointerException
at myPackage.Readfile.main(Readfile.java:55)
C:\Users\espoir\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
comment je peut resoler le probleme de NullPointerException
slvp aide moi
merci à l’avance

2 réponses

luckydu43 Messages postés 4259 Date d'inscription   Statut Membre Dernière intervention   1 057
 
Bonsoir !

Déjà, le code me pique les yeux. C'est loin du Java 8 ^-^
Enfin bon, je passe tout cela.

Cette ligne :

tokens[j]=s.nextToken();

Comment peut-elle marcher ? la variable J n'est pas initialisée...


Toute cette partie là :


}
lines.close();

} corpus.close();}}

Depend de ce qu'il y a au dessus du code.

Et surtout, l'erreur vient de la ligne 55 ou 53.
Regarde si la variable qui est affectée ou celle qui affecte une valeur n'est pas nulle ou non initialisée ;-)

Bonne soirée !

Luc
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Tu as
tabDeMot = null;
donc
tabDeMot[i]
provoque un NullPointerException.

Pour le reste, comme indiqué par luckydu43, ce que tu fais c'est du vieux Java, si tu regardes la documentation de StringTokenizer tu verras :

"StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead."

Exemple avec split :

while (lines.hasNextLine()) {
    String line = lines.nextLine();
    String[] tokens = line.split(" ");
    System.out.println(Arrays.toString(tokens));
}
0
LinaMas Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour votre explication
0