bonsoir, je voudrais s'il vous plait connaitre mon erreur dans le code suivant (je suis debutant en programation) :
***********************************************
public class Cripteur{
public static void main(String[] args) {
String str;
int j,i,k,s;
Lct lire=new Lct();
System.out.println ("Entrez le texte a cripté ^^ : ");
System.out.print ("-->");
str=lire.GetString();
str=str.replace(' ','7');
str=str.replace('b',' ');
str=str.replace('B',' ');
str=str.replace('o','8');
str=str.replace('O','8');
str=str.replace('s','1');
str=str.replace('S','1');
str=str.replace('f','1');
str=str.replace('F','1');
str=str.replace('r','1');
str=str.replace('R','1');
str=str.replace('a','1');
str=str.replace('A','1');
str=str.replace('l','1');
str=str.replace('L','1');
str=str.replace('h','1');
str=str.replace('H','1');
j=str.length();
char tab1[]=new char[j];
char tab2[]=new char[j];
for(i=0;i<j;i++);
{
tab1[i]=str.charAt(i);
}
for(k=0;k<j;k++)
{
for(s=(j-1);s>=0;s--)
{
tab2[s]=tab1[k];
}
}
for(i=0;i<j;i++)
{
str=str+tab2[i];
}
System.out.println ("Aprés criptage : ");
System.out.println (str);
}
}
***********************************************
quand je compile il n'ya pas d'erreur, mais a l'execution j'obtiend ce message:
*****************************************
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 2
at java.lang.String.charAt(String.java:687)
at Cripteur.main(Cripteur.java:41)
*****************************************
pour ce qui est de la class de lecture a partir du clavier la voila :
***************************************
import java.io.*;
public class Lct {
String str;
public String GetString()
{
try{
BufferedReader lecteur=new BufferedReader(new InputStreamReader(System.in));
str=(String)lecteur.readLine();
}
catch(IOException e)
{
System.err.println("Erreur "+e);
}
return str;
}
}
***********************************************
merci pour votre aide!^^