Bonjour,

Bon, ce genre d'erreur c'est vraiment chiant. D'autant plus quand vous effectuez une opération d'un côté, que ça fonctionne nickel et que de l'autre, vous faites pareil et que ça ne va plus. Explication:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
Socket connexion = service.accept();
            BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
            PrintWriter sortie=new PrintWriter(connexion.getOutputStream(), true);
            str=entree.readLine();
            System.out.println("Et meme encore avant");
            args[0].toString();  //Ligne inutile mais bon, j'ai essayé
            args[0]= args[0].substring(args[0].indexOf('-') + 1); //ICI ÇA PLANTE
            System.out.println(args[0]);
            //options = new ArrayList(Arrays.asList(param.split("")));
 
            options = new ArrayList(Arrays.asList(args[0].split("")));
Voilà, dans le code je vous ait mis l'endroit où ça plante.

Alors la classe d'où ce bout de code vient, reçoit:
-a
Et mon but est d'isoler 'a', de n'avoir plus que 'a' dans args[0]. Je fais exactement la même opération dans une autre classe et là aucune exception n'est déclenchée, tout fonctionne bien. Mais ici :S

tiens d'ailleurs voilà ce que je fais dans cette autre classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
String param = args[0].toString();
param= param.substring(param.indexOf('-') + 1);
options = new ArrayList(Arrays.asList(param.split("")));
Ca ressemble quand même beaucoup non ?!

Pourtant d'un côté ça marche, de l'autre non...

Voici l'erreur générée par le code foireux:
Exception in thread "main" java.lang.ArrayIndeOutOfBoundsException: 0
Please Help me.
Merci.