Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
874 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA]Pb retour variable... [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA]Pb retour variable... [Résolu]

n°1048578
frenchlove​r
Posté le 15-04-2005 à 12:37:48  profilanswer
 

Salut,
je débute en JAVA et j'essaie de faire un programme de cryptage basique qui utilise le principe du masque jetable. J'y arrive en statique, mais maintenant, je voudrais le rendre interactif.
Mais c'est là que le bas blesse... :D  
 
Je n'arrive pas à ressortir ma variable masque de ma boucle while. Est-ce que quelqu'un aurait une idée ? Merci d'avance.
 
PS : Je ne met ici qu'un test de sorti de variable...
 
import java.io.*;
public class CryptoMot{
 public static void main (String[] args){
  int taillemot;
  BufferedReader IN=null;
  try{
   IN=new BufferedReader(new InputStreamReader(System.in));
  }
  catch (Exception ex){}
  System.out.print("Mot a crypter : " );
  String mot=null;
  try{
   mot=IN.readLine();
  }
  catch (Exception ex){}
  taillemot=mot.length();
  int taillemasque=0;
  BufferedReader IN2=null;
  try{
   IN2=new BufferedReader(new InputStreamReader(System.in));
  }
  catch (Exception ex){}
  while(taillemasque!=taillemot){
   System.out.print("Masque de "+taillemot+" caractere: " );
   String masque=null;
   try{
    masque=IN.readLine();
   }
   catch (Exception ex){};
   taillemasque=masque.length();
  }
  System.out.println(masque);
 }
}


Message édité par frenchlover le 15-04-2005 à 14:20:33

---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
mood
Publicité
Posté le 15-04-2005 à 12:37:48  profilanswer
 

n°1048586
madshark
Posté le 15-04-2005 à 12:47:33  profilanswer
 

Ben il faut pas la déclarer dans une boucle tout simplement!
Tu la déclares au début juste après:
int taillemot;  
String masque=null;  
et la ca devrait marcher...
d'ailleurs pour ne rien faire en static tu devrais pas bosser dans le main


---------------
°o° It only hurts if you survive  °o°
n°1048593
the real m​oins moins
Posté le 15-04-2005 à 12:59:23  profilanswer
 

Citation :

       catch (Exception ex){}

[:ciler]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1048598
frenchlove​r
Posté le 15-04-2005 à 13:04:12  profilanswer
 

Ben, je peux pas déclarer ma variable avant le while... Ou alors comment ?
Car la variable est défini dans le while uniquement si le nombre de caractères qui la compose sont conforme avec la taille du mot à crypter.
 
N'y a-t-il pas moyen de ressortir cette variable. Un truc du genre "return masque" ou quelque chose comme ça ???


---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
n°1048647
madshark
Posté le 15-04-2005 à 13:59:52  profilanswer
 

Pourquoi tu veux pas la décaler?
De toute facon elle sera cree si tu passes dans le while... alors plus haut ou plus bas... tu la remets juste a null dans la boucle.


---------------
°o° It only hurts if you survive  °o°
n°1048655
frenchlove​r
Posté le 15-04-2005 à 14:06:30  profilanswer
 

C'est pas que je veux pas, mais si je met un String masque=nul avant la boucle, quand je veux compiler, ça me répond que la variable est déjà défini dans le main...
 
Comment faire alors ?


---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
n°1048661
frenchlove​r
Posté le 15-04-2005 à 14:09:44  profilanswer
 

1000 excuses, je l'avais pas déclarer ou il fallait. Ca a l'air de marcher.
 
Bon, ben je vais pouvoir passer à la phase suivante du programme.
 
Merci


---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
n°1048663
madshark
Posté le 15-04-2005 à 14:10:17  profilanswer
 

Code :
  1. package test;
  2. import java.io.*;
  3. public class CryptoMot
  4. {
  5.     public static void main (String[] args)
  6.     {
  7.         int taillemot;
  8.         BufferedReader IN=null;
  9.         try
  10.         {
  11.             IN=new BufferedReader(new InputStreamReader(System.in));
  12.         }
  13.         catch (Exception ex){}
  14.         System.out.print("Mot a crypter : " );
  15.         String mot=null;
  16.         try
  17.         {
  18.             mot=IN.readLine();
  19.         }
  20.         catch (Exception ex){}
  21.         taillemot=mot.length();
  22.         int taillemasque=0;
  23.         BufferedReader IN2=null;
  24.         try
  25.         {
  26.             IN2=new BufferedReader(new InputStreamReader(System.in));
  27.         }
  28.         catch (Exception ex){}
  29.         String masque=null;
  30.         while(taillemasque!=taillemot)
  31.         {
  32.             System.out.print("Masque de "+taillemot+" caractere: " );
  33.             try{
  34.                 masque=IN.readLine();
  35.             }
  36.             catch (Exception ex){};
  37.             taillemasque=masque.length();
  38.         }
  39.         System.out.println(masque);
  40.     }
  41. }


Chez moi ca compile...


---------------
°o° It only hurts if you survive  °o°
n°1048668
Zzozo
Un peu, passionément, à la fol
Posté le 15-04-2005 à 14:14:42  profilanswer
 

the real moins moins a écrit :

Citation :

       catch (Exception ex){}

[:ciler]


toi aussi ? :D

n°1048672
frenchlove​r
Posté le 15-04-2005 à 14:17:18  profilanswer
 

Zzozo a écrit :

toi aussi ? :D


Pourriez-vous me dire ce que ça signifie ???
Je rappel que je débute. J'ai trouvé cette façon de traiter les exception dans un cour d'un prof d'université...
Si vous avez quelque chose à proposer, n'hésiter pas, je ne demande qu'à apprendre.


---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
mood
Publicité
Posté le 15-04-2005 à 14:17:18  profilanswer
 

n°1048677
frenchlove​r
Posté le 15-04-2005 à 14:19:19  profilanswer
 

Voilà, bon, c'est peut-être pas optimisé, mais ça fonctionne. Si jamais ça intéresse quelqu'un...
Le programme demande de saisir un mot, calcul la taille, demande de saisir un masque de la même taille, puis applique un XOR entre les deux pour crypter le mot.
 

Code :
  1. import java.io.*;
  2. public class CryptoMot{
  3. public static void main (String[] args){
  4.  int taillemot;
  5.  BufferedReader IN=null;
  6.  try{
  7.   IN=new BufferedReader(new InputStreamReader(System.in));
  8.  }
  9.  catch (Exception ex){}
  10.  System.out.print("Mot a crypter : " );
  11.  String mot=null;
  12.  try{
  13.   mot=IN.readLine();
  14.  }
  15.  catch (Exception ex){}
  16.  taillemot=mot.length();
  17.  int taillemasque=0;
  18.  String masque=null;
  19.  BufferedReader IN2=null;
  20.  try{
  21.   IN2=new BufferedReader(new InputStreamReader(System.in));
  22.  }
  23.  catch (Exception ex){}
  24.  while(taillemasque!=taillemot){
  25.   System.out.print("Masque de "+taillemot+" caractere: " );
  26.   try{
  27.    masque=IN.readLine();
  28.   }
  29.   catch (Exception ex){};
  30.   taillemasque=masque.length();
  31.  }
  32.  char[] Tableau1 = mot.toCharArray();
  33.  char[] Tableau2 = masque.toCharArray();
  34.  int z=0;
  35.  System.out.print("Le mot crypter est : " );
  36.  while (z<taillemot){
  37.   char a=(char)(Tableau1[z]^Tableau2[z]);
  38.   z=z+1;
  39.   System.out.print(a);
  40.  }
  41.   System.out.println();
  42. }
  43. }


 
Merci à MadShark pour son aide...


---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
n°1048782
benou
Posté le 15-04-2005 à 15:21:54  profilanswer
 

frenchlover a écrit :

J'ai trouvé cette façon de traiter les exception dans un cour d'un prof d'université...


[:ciler]
 
 
un jour faudra faire un joli post sur le traitement d'exception ...
 
 
> la question que tu dois te poser c'est "quelle est la conséquence, si une exception se déclenche, sur l'execution de mon programme ?".  
En gros, soit tu traite l'exception (dans ton catch) de façon à ce que ton programme retmbe sur ses pattes, soit tu laisses remonté l'exception à l'appelant, qui devra avoir ce même genre de reflexion.
 
mais JAMAIS DE CATCH VIDE !!!!
le minimum syndicale, c'est au moins de faire un e.printStackTrace().
Et dans les rares cas où un catch doit effectivement rester vide, on indique pourquoi dans un commentaire.


Message édité par benou le 15-04-2005 à 15:22:04

---------------
ma vie, mon oeuvre - HomePlayer
n°1048946
the real m​oins moins
Posté le 15-04-2005 à 17:31:43  profilanswer
 

frenchlover a écrit :

Pourriez-vous me dire ce que ça signifie ???
Je rappel que je débute. J'ai trouvé cette façon de traiter les exception dans un cour d'un prof d'université...


euh. A part tout l'inverse, ça fait rien d'autre là.
Qu'il aille se pendre, ce prof.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA]Pb retour variable... [Résolu]

 

Sujets relatifs
[resolu][MYSQL] CREATE VIEW ???[JAVA] pb de viewport
[C] Stocker une valeur entière dans un char * [Résolu]taille d'une chaine de caratere? [RESOLU]
[java] Création dynamique de classes[RESOLU] - Superposer 2 Div en position:relative ?
parseur de fichier rng en java[JAVA] String et caractères html
java qui crashe / antLes checkbox et la base de données... [RESOLU] -
Plus de sujets relatifs à : [JAVA]Pb retour variable... [Résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR