Chaîne de caractères et sa position
aminaxy
Messages postés
190
Statut
Membre
-
aminaxy Messages postés 190 Statut Membre -
aminaxy Messages postés 190 Statut Membre -
Bonjour,
je doit afficher dans un tableau ,c'est à dire dans chaque ligne les caractéres A,B,C,j'ai commancer à les mettresnt tous dans un tableau st,puis je les dévisés,en utilisant la méthode split
voici la chaine de caractéres:
AAAAAAAAAAAAAAAAAAAAAAAAA.1 = carac: "A"
AAAAAAAAAAAAAAAAAAAAAAAAA.4 = carac: "B"
AAAAAAAAAAAAAAAAAAAAAAAAA.328 = carac :"C"
voici mon code:
lorsque je compile j'obtient toutes le reste de chaîne(aprés ce que j'ai délimité),or je veut que seulement les caractères A,B,C s'affichent dans les lignes de mon tableau,alors j'ai pensé d'utiliser un autre split et mettre le résultat dans un autre tableau puis l'affiche à partir de ce tableau,or toujours j'ai des problèmes d'exception et je ne sait pas quoi faire,existe t'il une méthode en java qui permet de sélectionner une chaîne à partir de sa position,comme la méthode substring() mais avec les tableaux de chaines de carcatéres et merci pour tout aide
je doit afficher dans un tableau ,c'est à dire dans chaque ligne les caractéres A,B,C,j'ai commancer à les mettresnt tous dans un tableau st,puis je les dévisés,en utilisant la méthode split
voici la chaine de caractéres:
AAAAAAAAAAAAAAAAAAAAAAAAA.1 = carac: "A"
AAAAAAAAAAAAAAAAAAAAAAAAA.4 = carac: "B"
AAAAAAAAAAAAAAAAAAAAAAAAA.328 = carac :"C"
voici mon code:
for(int i=0;i<données.length;i++){
String[] st =resultat.split("AAAAAAAAAAAAAAAAAAAAAAAAA."); //j'ai pris ce délimiteur puisque c'est le commun entre les 3 chaines
données[i][0]= st[i] ; //puis j'ai mais dan mon tableau données
}
lorsque je compile j'obtient toutes le reste de chaîne(aprés ce que j'ai délimité),or je veut que seulement les caractères A,B,C s'affichent dans les lignes de mon tableau,alors j'ai pensé d'utiliser un autre split et mettre le résultat dans un autre tableau puis l'affiche à partir de ce tableau,or toujours j'ai des problèmes d'exception et je ne sait pas quoi faire,existe t'il une méthode en java qui permet de sélectionner une chaîne à partir de sa position,comme la méthode substring() mais avec les tableaux de chaines de carcatéres et merci pour tout aide
A voir également:
- Chaîne de caractères et sa position
- Caractères spéciaux - Guide
- Ma position - Guide
- Caracteres speciaux - Guide
- Plus de chaine tv - Guide
- Suivi position google - Guide
3 réponses
merci KX pour ta réponse,j'ai essayé d'utiliser la méthode substring avec le tableau des String st et je l'ai mit le résutat de la séléction dans un String st1,or ce que je trouve à la compilation des erreurs d'exception,j'ai fait comme suit
String st1= st[i].substring(la position d'où je commance la sélection,st.length-1);
données[i][0]= st1[i] ;
mon premier code est fonctionnel,mais je veut comment je peut séléctionner la position de la chaine afin par exemple d'afficher seulement le caractére" A" dans la premiére ligne de mon tableau,et "B" dans la 2éme ligne,et "C" dans la 3éme
String st1= st[i].substring(la position d'où je commance la sélection,st.length-1);
données[i][0]= st1[i] ;
mon premier code est fonctionnel,mais je veut comment je peut séléctionner la position de la chaine afin par exemple d'afficher seulement le caractére" A" dans la premiére ligne de mon tableau,et "B" dans la 2éme ligne,et "C" dans la 3éme
bonjour KX,
j'ai utilisé les 2 méthodes indexOf(String str),et substring(index de début),mais ce que je trouve à la compilation des erreurs d'exeption
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
pourtant,voici ce que j'ai fait:
String[] st = resultat.split("AAAAAAAAAAAAAAAAAAAAAAAAA.");
int x =st[i].indexOf(" = carac:"); //puisque je veut que seulement le caractére A s'affiche dans la ligne 1 de mon tableau données
données[i][0]= st[i].substring(x,st.length-1) ; //puis j'ai commencer à séparer et de séléctionner ce qui est aprés "=carac:",
lorsque je mit System.out.pritln(x);
voila ce que j'ai eu :
run:
-1
1
1
3
je ne sait pas où est ma faute,je pense que c'est logique que j'ai fait,et merci KX pour tout aide
j'ai utilisé les 2 méthodes indexOf(String str),et substring(index de début),mais ce que je trouve à la compilation des erreurs d'exeption
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
pourtant,voici ce que j'ai fait:
String[] st = resultat.split("AAAAAAAAAAAAAAAAAAAAAAAAA.");
int x =st[i].indexOf(" = carac:"); //puisque je veut que seulement le caractére A s'affiche dans la ligne 1 de mon tableau données
données[i][0]= st[i].substring(x,st.length-1) ; //puis j'ai commencer à séparer et de séléctionner ce qui est aprés "=carac:",
lorsque je mit System.out.pritln(x);
voila ce que j'ai eu :
run:
-1
1
1
3
je ne sait pas où est ma faute,je pense que c'est logique que j'ai fait,et merci KX pour tout aide
lorsque tu fais int x= indexOf(" = carac:"); alors x va valoir -1 lorsque " = carac:" n'aura pas été trouvé, ce qui est par exemple le cas pour C, vu qu'il y a un espace avant les deux points.
Il faut donc vérifier que x soit différent de -1 avant de la balancer tel quel dans le substring !
De plus x vaudra l'indice du début de la chaîne alors que tu cherches l'indice de fin, il faudra donc décaler d'autant d'indices que tu as de caractères an paramètre d'indexOf...
De plus ton st.length-1 est plutôt violent, il vaudrait mieux réutiliser indexOf pour déterminer l'indice de fin. Ici ce que tu cherches est encadré par deux guillemets, donc fait ton index sur les guillemets !
Il faut donc vérifier que x soit différent de -1 avant de la balancer tel quel dans le substring !
De plus x vaudra l'indice du début de la chaîne alors que tu cherches l'indice de fin, il faudra donc décaler d'autant d'indices que tu as de caractères an paramètre d'indexOf...
De plus ton st.length-1 est plutôt violent, il vaudrait mieux réutiliser indexOf pour déterminer l'indice de fin. Ici ce que tu cherches est encadré par deux guillemets, donc fait ton index sur les guillemets !