Java.lang.NullPointerException

Résolu/Fermé
LinaMas Messages postés 13 Date d'inscription jeudi 18 février 2016 Statut Membre Dernière intervention 19 août 2016 - Modifié par KX le 22/02/2016 à 06:28
LinaMas Messages postés 13 Date d'inscription jeudi 18 février 2016 Statut Membre Dernière intervention 19 août 2016 - 22 févr. 2016 à 07:24
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 3484 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 815
21 févr. 2016 à 23:17
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 16737 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 18 mai 2024 3 015
22 févr. 2016 à 06:42
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 jeudi 18 février 2016 Statut Membre Dernière intervention 19 août 2016
22 févr. 2016 à 07:24
merci pour votre explication
0