Bah tu continues à écrire n'importe quoi :
code = alpha.substring(cle,i);
cle est du char, et est la première lettre de ta clef, qui doit commencer par h. Comme la méthode substring prend du int, c'est le code ASCII de h, 104, qui est utilisé, donc ta ligne de code équivaut à :
code = alpha.substring(104,1);
Java te dit donc que tu essayes d'extraire une chaine qui va du caractère de position 104 au caractère 1, donc de longueur -103, et que ce n'est pas possible (pour mettre au point un programme il est important d'apprendre à comprendre les messages d'erreur).
De toute manière le reste du code est de la bidouille au point qu'il est difficile de savoir ce que ça peut vouloir faire, mais on voit de toute manière que ça va pas s'exécuter longtemps sans faire d'erreur (la première ligne de l'itération déjà, je t'ai dit pourquoi ça n'allait pas)
Partager