[java] erreur java.lang.StringIndexOutOfBound

Bonjour tout le monde !

Je vous mets mon code avant de vous expliquer :

while (txt.charAt(i+1) == '-')  {
		mot += "" + txt.charAt(i+1);
		i++;
	}

Et là j'ai l'erreur java.lang.StringIndexOutOfBoundsException: String index out of range

Je vois bien pourquoi j'ai cette erreur, c'est parce qu'à un moment il n'existe pas de txt.charAt(i+1)

Mais je ne vois pas comment faire autrement.

Merci à tous pour votre aide !

3 réponses

  1. salut

    à combien tu initialises ton I ?

    de plus tu ne peux pas faire come ca, au bout d'un moment tu dépasses ta chaine :=> uot of bounds.

    fais une boucle for:

    for (inti=0; i< txt?getLength();i++)
    {
    mot += "" + txt.charAt(i+1); //ou i
    }
    1. Bonjour

      Pour le traitement des chaînes de caractères en JAVA jette un coup d'oeil à http://jpdelx.club.fr/minfo.html ;o)

      @lpf
      1. Contributeur
        et pour le traitement des relous qui passent leur temps à se faire de la pub on fait quoi ?
      2. Contributeur
        @XenorOn clique sur alerter un modo !
      3. Contributeur
        @Xenorils sont déjà au courant, la chasse à l'homme est lancée.