Erreur
Résolu/Fermé
thenfs
Messages postés
2
Date d'inscription
jeudi 9 janvier 2014
Statut
Membre
Dernière intervention
10 janvier 2014
-
9 janv. 2014 à 21:23
thenfs Messages postés 2 Date d'inscription jeudi 9 janvier 2014 Statut Membre Dernière intervention 10 janvier 2014 - 10 janv. 2014 à 17:30
thenfs Messages postés 2 Date d'inscription jeudi 9 janvier 2014 Statut Membre Dernière intervention 10 janvier 2014 - 10 janv. 2014 à 17:30
2 réponses
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
9 janv. 2014 à 21:37
9 janv. 2014 à 21:37
Quand tu as une exception il faut toujours te référer à la documentation pour la comprendre.
Voici le lien général :
https://docs.oracle.com/javase/7/docs/api/
Et dans ton cas spécifique :
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#charAt(int)
Vu l'exception tu as donc dans ton main (ligne 40) un charAt(0) appliqué à un String qui est vide. Cependant, je ne vois pas de charAt dans ton code, où est la ligne 40 ?
Remarque : avec Scanner il faut faire attention car nextInt, nextDouble etc. ne s'arrêtent pas au saut de ligne, du coup lorsque tu fais un nextLine ce n'est pas la ligne que tu penses que tu lis, mais la fin de la ligne des nextDouble/nextInt.
Ce qu'il faudrait faire c'est mettre un nextLine en plus à chaque fois :
Mails il serait bien aussi de trouver pourquoi tu avais une exception ligne 40...
Voici le lien général :
https://docs.oracle.com/javase/7/docs/api/
Et dans ton cas spécifique :
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#charAt(int)
Throws:
IndexOutOfBoundsException - if the index argument is negative or not less than the length of this string.
Vu l'exception tu as donc dans ton main (ligne 40) un charAt(0) appliqué à un String qui est vide. Cependant, je ne vois pas de charAt dans ton code, où est la ligne 40 ?
Remarque : avec Scanner il faut faire attention car nextInt, nextDouble etc. ne s'arrêtent pas au saut de ligne, du coup lorsque tu fais un nextLine ce n'est pas la ligne que tu penses que tu lis, mais la fin de la ligne des nextDouble/nextInt.
Ce qu'il faudrait faire c'est mettre un nextLine en plus à chaque fois :
int n = co.nextInt(); co.nextLine(); double d = co.nextDouble(); co.nextLine(); String s = co.nextLine();
Mails il serait bien aussi de trouver pourquoi tu avais une exception ligne 40...
thenfs
Messages postés
2
Date d'inscription
jeudi 9 janvier 2014
Statut
Membre
Dernière intervention
10 janvier 2014
10 janv. 2014 à 17:30
10 janv. 2014 à 17:30
merci pour ta réponse rapide en effet j'ai fait une erreur le code que j'avais posté n'étais pas le bon ( je l'avais modifié entre temps)