IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

StringIndexOutOfBoundsException


Sujet :

avec Java

  1. #1
    Membre régulier
    Homme Profil pro
    .
    Inscrit en
    Mai 2012
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Mai 2012
    Messages : 120
    Points : 81
    Points
    81
    Par défaut StringIndexOutOfBoundsException
    Bonjour a tous,
    j'ai cherché la solution mon problème mais en vain:
    C'est ainsi que je viens solliciter vos aides:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 6
    	at java.lang.String.substring(String.java:1907)
    voici le morceau de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    mot =new String();
              			String cut;
              			cut =new String();
              			 mot=sentence.substring(i,i+8).trim();
              			cut=mot.substring(0, 6);
              			int n=Integer.valueOf(cut.trim(), 2);
    Merci à vous

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Points : 533
    Points
    533
    Par défaut
    bonjour, peux tu nous donner la valeur de sentence?

  3. #3
    Membre régulier
    Homme Profil pro
    .
    Inscrit en
    Mai 2012
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Mai 2012
    Messages : 120
    Points : 81
    Points
    81
    Par défaut
    salut merci pour votre

    Citation Envoyé par ludomacho Voir le message
    bonjour, peux tu nous donner la valeur de sentence?
    prenons l'exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sentence="110100011100101011011000110110001101111011000101"
    Merci

  4. #4
    Membre confirmé Avatar de ruscov
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2007
    Messages : 347
    Points : 500
    Points
    500
    Par défaut
    Tu va trop loin dans ton substring a mon avis. Je ne sais pas ce que vaut i mais i+8 > sentence.length a un moment donné.
    Mes logiciels n’ont jamais de bug. Ils développent juste certaines fonctions aléatoires.

  5. #5
    Membre régulier
    Homme Profil pro
    .
    Inscrit en
    Mai 2012
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Mai 2012
    Messages : 120
    Points : 81
    Points
    81
    Par défaut
    salut a vous
    Citation Envoyé par ruscov Voir le message
    Tu va trop loin dans ton substring a mon avis. Je ne sais pas ce que vaut i mais i+8 > sentence.length a un moment donné.
    j'incrémente i de 8 après le bloc d'instruction précédent
    Merci

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Points : 533
    Points
    533
    Par défaut
    Le problème est que tu incrémentes i de 1 à la fois dans la boucle, donc quand tu arrives à moins de 8 cases de la fin il ne peut plus trouver substring(i,i+8) car tu dépasses la longueur de sentence.

    2 solutions.

    la première incrémenter i de 8 en 8 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    public class ScinderText  {
     
     
     
    	public static void main(String[] args) {
    				String sentence="110100011100101011011000110110001101111011000101";
              			String cut=new String();
              			String mot=new String();
              			int n;
              			int i=0;
              			while(i<sentence.length()) {
              				mot=sentence.substring(i,i+8).trim();
              				cut=mot.substring(0, 6);
              				n=Integer.valueOf(cut.trim(), 2);
              				System.out.println("mot: " + mot);
              				System.out.println("cut: " + cut);
              				System.out.println("n: " + n);
              				i=i+8;
              			}
    	}
    }

    la seconde s'arrêter 7 cases avant la fin (pour lire la dernière série de 8)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    public class ScinderText  {
     
     
     
    	public static void main(String[] args) {
    				String sentence="110100011100101011011000110110001101111011000101";
              			String cut=new String();
              			String mot=new String();
              			int n;
              			int i=0;
              			while(i<sentence.length()-7) {
              				mot=sentence.substring(i,i+8).trim();
              				cut=mot.substring(0, 6);
              				n=Integer.valueOf(cut.trim(), 2);
              				System.out.println("mot: " + mot);
              				System.out.println("cut: " + cut);
              				System.out.println("n: " + n);
              				i=i+1;
              			}
    	}
    }

  7. #7
    Membre régulier
    Homme Profil pro
    .
    Inscrit en
    Mai 2012
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Mai 2012
    Messages : 120
    Points : 81
    Points
    81
    Par défaut
    Merci tout marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/01/2010, 18h44
  2. StringIndexOutOfBoundsException, trim et equals
    Par k o D dans le forum Langage
    Réponses: 12
    Dernier message: 14/01/2010, 15h11
  3. java lang StringIndexOutOfBoundsException ?
    Par titof dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 05/08/2008, 14h54
  4. StringIndexOutOfBoundsException au deploiement d'un war
    Par stylatone dans le forum Weblogic
    Réponses: 7
    Dernier message: 10/06/2008, 10h13
  5. Probleme de StringIndexOutOfBoundsException
    Par Varcko dans le forum Général Java
    Réponses: 4
    Dernier message: 18/02/2008, 21h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo