Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : probleme inconnue (debutant] [ Algorithme / Autre ] (gholiat)

jeudi 31 juillet 2008 à 20:57:41 | probleme inconnue (debutant]

gholiat

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!^^

jeudi 31 juillet 2008 à 23:51:40 | Re : probleme inconnue (debutant]

jiidou

Réponse acceptée !
salut
j'ai pas essayé de comprendre ton code;mais d'apres l'erreur affichée j'ai remarqué que tu essais d'affecter une valeur d'une index du tableau qui depasse la taille de ton tableau
tu dois remplacer la boucle :
for(i=0;i<j;i++);
     {
     tab1[i]=str.charAt(i);
     }
par
for(i=0;i<j-1;i++);
     {
     tab1[i]=str.charAt(i);
     }
Bon courage

vendredi 1 août 2008 à 00:10:29 | Re : probleme inconnue (debutant]

gholiat

merci beaucoup!! ^^ je voudrais encore posé une question car j'ai encore un probléme avec ce code:
**********************
     for(k=0;k<j;k++)
     {
     for(s=(j-1);s>=0;s--)
     {
     tab2[s]=tab1[k];
     }
     }
***********************
normalement cette boucle est faite pour mettre les caractéres du tableau 1 dans le tableau 2 mais a partir de la fin, le probleme c'est que quand ça ne fonctionne pas....
encore merci .

vendredi 1 août 2008 à 01:15:12 | Re : probleme inconnue (debutant]

jiidou

Réponse acceptée !
salut
je vois ke tu as encore des problèmes au niveau d'algorithmique;je te conseille de l'essayer avant de l'executer sur n'importe quel langage .

essai ce code ça doit marcher :

    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++){
     tab2[j-k-1]=tab1[k];
     }
      for(i=0;i<j;i++){
     str=str+tab2[i];
     }
     System.out.println ("Aprés criptage : ");
     System.out.println (str);


Bon courage .


vendredi 1 août 2008 à 11:38:50 | Re : probleme inconnue (debutant]

gholiat

merci, je crois que je doit refaire mon cours d'algorithmique!^^
pour ce qui est du code, non ça na pas marché.
encore merci pour ton aide.

vendredi 1 août 2008 à 11:48:42 | Re : probleme inconnue (debutant]

gholiat

voila j'ai trouvé l'erreur, c'été la variable "str" que j'avais initialisé au debut comme j'entrais MP je m'attendais a avoir PM comme reponse mais j'oublié que j'avais initialisé la variable "str" par MP alors la reponse été MPPM, il ma suffie de créée une nouvel variable String et de l'utilisé au lieu de la premiere variable.
merci de m'avoir aidé.

la vie est belle pour ceux qui savent vivre!




Cette discussion est classé dans : string, system, replace, out, str


Répondre à ce message

Sujets en rapport avec ce message

compatibilité argument File String [ par sido722 ] Mon erreurMafenetre4.java:181: tests(java.io.File) in Mafenetre4 cannot be applied to (java.lang.String) tests(file.getAbsolutePath()); acces au contenu d'un message avec javamail [ par amine hayat ] Bonjour. Voici mon problème.Je suis en train de faire une appli qui doit recevoire et envoyer des emails dans une boîte mail. mon probléme est que je AIDE sur Connexion BDD MySQL [ par zeldoi5 ] Bonjour tout le monde!Je sais que le problème dont je vais parler a déjà été traité plusieurs fois... Mais impossible de me connecter à ma base de don Apparition d'une fenetre vide [ par Dedeloux ] Bonjour à tous, voilà, j'ai un petit problème. Je fais une recherche sur des fournisseurs. J'aiffiche cette recherche dans une fenetre. Je peux alors JPANEL [ par LeNeutrino ] je suis en projet et je souhaiterais faire un formulaire et pour les insertions de données et pour les consultations. j'utilise un jdbnavcombox relié Surcharge : aide [ par Tachag ] Bonjour,Alors, j'ai essayé de faire une surcharge.  Ma question est : pourquoi lorsque je fais execute file, l'information n'apparaît pas?Je vous tran if est string ..... [ par maminovadu75 ] Bonjour j'ai un problème .   while(!commande.equalsIgnoreCase("quitter") && !commande.equalsIgnoreCase("exit") )   {    /** La methode getAbsolutePa Problème d'instanciation d'un tableau en java [ par umy ] Je suis débutant et jai écris quelques lignes de codes et je ne sais pas corrigé mon erreur qui est la suivante:Exception in thread "main" java.lang.N tavleur d eleve [ par younes371 ] je ve creer un tableu deleve et y ajouter des eleves et les afficher, mais j ai, pas pu savoir comment remplir le tableu!, est ce que kle code ke j ai problème d'affichage d'une chaine dans un servlet [ par 2tsiris ] Bonjour à tous, j'ai créer un servlet qui récupère une valeur dans une table mysql.J'ai donc créer une méthode qui se connect à la base et effectue


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.