Chaîne de caractères.split() génère une exception NullPointerException
Chaîne.split() génère une exception NullPointerException.
BufferedReader brs = new BufferedReader(new InputStreamReader(System.in));
String s1;
String s2[];
s1 = brs.readLine();
s2 = s1.split(" ");
Parce que votre
elle n'est pas null.
À partir de votre code et de l'exception levée, il est évident que s1 est null. Ce qui nous amène à la conclusion suivante: que la brs.readLine(); retourne la valeur null. Vous devez agir en conséquence en vérifiant si elle est nulle avant l'appel d'une méthode. Aussi, la prochaine fois fournir la trace de la pile afin que nous puissions vérifier ce qui s'est passé.
readLine()
renvoie la valeur null.elle n'est pas null.
À partir de votre code et de l'exception levée, il est évident que s1 est null. Ce qui nous amène à la conclusion suivante: que la brs.readLine(); retourne la valeur null. Vous devez agir en conséquence en vérifiant si elle est nulle avant l'appel d'une méthode. Aussi, la prochaine fois fournir la trace de la pile afin que nous puissions vérifier ce qui s'est passé.
OriginalL'auteur Kazekage Gaara | 2012-01-06
Vous devez vous connecter pour publier un commentaire.
s1 pourrait être
null
,OriginalL'auteur adatapost
s1 peut être null. Essayez cette.
OriginalL'auteur Vaandu
Avez-vous vérifié ce qui est à venir à partir de
brs.readLine()
. C'est là que lenull
valeur provient. Probablement que le fichier est vide: http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html#readLine%28%29OriginalL'auteur Pieter
BufferedReader.readLine() retourne null si la fin du flux est rencontré. Voir la javadoc. Vous devriez mettre un null renseignez-vous avant de split s1.
OriginalL'auteur Buchi
si cette ligne des lancers nullpointer
alors s1 doit être null
vérifier la valeur null avant d'appeler MODIFIER split /MODIFIER
Note:
BufferedReader.readLine();
Retourne:
Une Chaîne de caractères contenant le contenu de la ligne, à l'exclusion de toute ligne de terminaison des caractères, ou null si la fin du flux a été atteint
OriginalL'auteur bpgergo
Votre BufferedReader est vraiment vide, donc readline() renvoie la valeur null. Peut-être que votre flux d'entrée est vide.
OriginalL'auteur Dmitry Zaytsev