Exception in thread "main".java.lang.StringIndexOutOfBoundsException - Java - Programmation
Marsh Posté le 12-07-2006 à 16:50:22
en fait j'effectue plusieurs traitements de chaines de caractères
et tout le début du traitement fonctionne correctement jusqu'au moment où j'ai cette erreur qui bloque sur une chaine de caractères
mais elle est semblable aux autres chaines précédentes donc j'ai du mal à cerner le réel problème rencontré lors de l'exécution de mon programme
Marsh Posté le 12-07-2006 à 16:51:33
ReplyMarsh Posté le 12-07-2006 à 16:56:15
_darkalt3_ a écrit : Vérifie sa taille avant |
ma chaine de caractères est toujours de longueur identique (80 caractères maximum)
_darkalt3_ a écrit : compare ton index avec sa taille |
quand tu parles de l'index: il est caracterisé par quoi un caractère de la chaine ou bien le buffer dans lequel est stocké la chaine?
Marsh Posté le 12-07-2006 à 17:04:19
Sinon ce genre d'erreur peut etre provoquée quand tu parcours des strings et que tu débordes, ou que tu veux copier des strings dans des strings trop petites (je crois, ca fait longtemps que j'ai pas fait de java), ce genre de choses.
Marsh Posté le 12-07-2006 à 17:06:37
Code :
|
le message d'erreur s'affiche pour la ligne du 'if' de la boucle 'while'
Marsh Posté le 12-07-2006 à 17:10:54
ça risque d'être un peu compliqué à résoudre
je vais faire d'autres recherches demain
merci beaucoup pour cette petite aide
Marsh Posté le 12-07-2006 à 17:31:37
Et si tu affichais (System.out.println) ce que ligne_in vaut, en particulier pour la premiere iteration?
Peut être qu'elle ne contient qu'un seul charactere (ou même une ligne vide), dans ce cas si tu fais charAt(1), c'est normal que t'auras une erreur de débordement...
Marsh Posté le 13-07-2006 à 08:50:46
ReplyMarsh Posté le 13-07-2006 à 09:31:21
Didine95 a écrit : je vais vérifier mais mes lignes ne sont normalement jamais vides! |
Citation : String index out of range: 0 |
Si, là tu as une ligne vide.
Moi, je vote et je dis que c'est la dernière ligne qui merde.
Code :
|
Citation : try/catch autour de tes ligne_in.charAt(n) |
Ca serait vraiment crado d'utiliser la gestion d'exception pour combler une lacune dans l'algo ...
Marsh Posté le 13-07-2006 à 09:58:14
Ca lui met en évidence l'endroit où se lève l'exception
Chuis cependant d'accord pour que ca n'aparaisse pas dans l'algo final
Marsh Posté le 13-07-2006 à 13:08:51
effectivement j'avais une ligne vide juste avant la fin du fichier
Marsh Posté le 13-07-2006 à 13:14:45
néanmoins j'ai un problème similaire mais cette fois ci c'est pour un seul fichier et c'est devenu:
String index out of range : 80
Cela signifie que c'est la fin de ma ligne qui n'est pas correcte??
Marsh Posté le 13-07-2006 à 13:22:01
Didine95 a écrit : Bonjour, |
Didine95 a écrit : néanmoins j'ai un problème similaire mais cette fois ci c'est pour un seul fichier et c'est devenu: |
Utilise le debuggeur de NetBeans.
Tu met un point d'arret (BreakPoint) et tu lance en mode debug, Tu vera ainsi ce que contiens ta chaine avant que ca plante.
Marsh Posté le 13-07-2006 à 13:24:33
zapan666 a écrit : Utilise le debuggeur de NetBeans. |
entendu je le fais
Marsh Posté le 13-07-2006 à 20:14:33
bon ben j'ai résolu le problème
c t juste que la ligne qui engendrait l'erreur n'était pas écrite correctement
Marsh Posté le 12-07-2006 à 16:38:57
Bonjour,
Je travaille sous NetBeans et j'ai écrit un programme qui se compile sans problème mais lorsque je l'exécute, il m'annonce ceci :
Exception in thread "main" java.lang.StringOutOfBounds Exception: String index out of range: 0
Sauriez vous pas hasard à quoi cette erreur peut correspondre?
Je vous remercie d'avance pour votre aide !!
Message édité par Didine95 le 12-07-2006 à 16:39:24