Probleme StringTokenizer() Java

Fermé
darhkan - 29 mars 2012 à 13:46
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 29 mars 2012 à 13:57
Bonjour a tous,
Je travaille sous Eclipse en Java.
Je reçoit un String grace a un client TCP qui ressemble a ça:
150/145/80/160/70
Je veux recuperer les valeur une par une en supprimant les "/"
Mais en utilisant StringTokenizer comme ceci :
angle = new BufferedReader(new InputStreamReader(input)).readLine();
System.out.println(""+angle);

StringTokenizer st = new StringTokenizer(angle,"/");
while (st.hasMoreTokens()) {
tabValeur[i] = st.nextToken();
i++;

}

J'ai une erreur que je n'arrive pas a résoudre:
Exception in thread "Thread-5" java.lang.ArrayIndexOutOfBoundsException: 5
at ClientTCP.recevoirAngle(ClientTCP.java:67)
at TestThread.run(TestThread.java:18)

Alors que quand j'enleve le Stringtokenizer tout mon programme marche très bien.
Merci d'avance
A voir également:

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
29 mars 2012 à 13:57
Est-ce que i est bien initialisé à 0 ?

Remarque : en général on ne connait pas le nombre de token dans la chaîne de caractères. En conséquence l'utilisation d'un tableau est mal adapté. Ici tu pourrais te contenter d'utiliser split.

tabValeur = angle.split("/");
1