Pb retour variable... [Résolu] [JAVA] - Java - Programmation
Marsh Posté le 15-04-2005 à 12:47:33
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
Marsh Posté le 15-04-2005 à 12:59:23
Citation : catch (Exception ex){} |
Marsh Posté le 15-04-2005 à 13:04:12
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 ???
Marsh Posté le 15-04-2005 à 13:59:52
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.
Marsh Posté le 15-04-2005 à 14:06:30
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 ?
Marsh Posté le 15-04-2005 à 14:09:44
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
Marsh Posté le 15-04-2005 à 14:10:17
Code :
|
Chez moi ca compile...
Marsh Posté le 15-04-2005 à 14:14:42
ReplyMarsh Posté le 15-04-2005 à 14:17:18
Zzozo a écrit : toi aussi ? |
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.
Marsh Posté le 15-04-2005 à 14:19:19
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 :
|
Merci à MadShark pour son aide...
Marsh Posté le 15-04-2005 à 15:21:54
frenchlover a écrit : J'ai trouvé cette façon de traiter les exception dans un cour d'un prof d'université... |
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.
Marsh Posté le 15-04-2005 à 17:31:43
frenchlover a écrit : Pourriez-vous me dire ce que ça signifie ??? |
euh. A part tout l'inverse, ça fait rien d'autre là.
Qu'il aille se pendre, ce prof.
Marsh Posté le 15-04-2005 à 12:37:48
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...
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