[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. 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.
  2. 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
    }