Sorry mais j’ai un petit soucis.

J’ai voulus faire un TP tout bête qui demande a l’user de rentrer une chaîne de caractères séparée par des virgules ( exemple :zrjghzoirg,zrigzrotjhéz,aqsfp,zrihogozirjg) puis que le prog découpe le String avec split et le stocke dans un tableau.
Enfin on demande au user de choisir une position du tableau et sa retourne le contenus demande.
Je sais sa sert a rien et reste extrêmement basique !!
Cela explique d’au temps plus ma vexation quand j’ai vu que mon prog marchais pas lol.
Non seulement il m’affiche systématiquement comme longueur du tableau 5 mais en plus quand je demande la position 5 (quand mon string a bien 5) sa me lève une exception out of bount.
G beau relire mon code je trouve pas d’où il me sort son 5 et pourquoi je peux pas demander l’affichage de la position que je veux

Je me permets de vous montrer mon code.
Sa va c pas long arf.

Merci d’avance pour toute suggestion.

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
23
24
25
26
27
28
29
30
31
32
33
package recherchedanschaine;
 
import entsor.*;
 
public class RechercheDansString {
  public static void main(String[] args) {
    String a;
    String tab[];
    int pos = 0;
    int decompte=0;
 
 
//Saisie d'une chaine de caractheres.
    a = LireP.S("ecrire une chaine de caracteres sous format:"
                + "aaa,bbb,ccc,ddd,eee");
 
    //Decoupage de la chaine.
    tab = a.split(",");
 
    decompte=a.length();
 
//Saisie de la position recherché.
    pos = LireP.i("donnez la position (de 1 a "+decompte+ ")");
 
//Affichage de la position demandée.
    EcrireP.w("String",
              "A la position" + " " + pos + " " + ", le string contien" + "\n" +
              tab[pos-1]);
 
    System.exit(0);
  }
 
}
PS: EcrireP. Et LireP. Sont 2 méthodes écrites par nos profs qui équivalent grossièrement a System.out.println et demande de saisie mais qui permets d’afficher facilement une fenêtre pour les débutants.