cs_JeanMi66
Messages postés67Date d'inscriptionsamedi 10 septembre 2005StatutMembreDernière intervention 8 juillet 2008
-
25 juin 2007 à 09:34
cs_JeanMi66
Messages postés67Date d'inscriptionsamedi 10 septembre 2005StatutMembreDernière intervention 8 juillet 2008
-
26 juin 2007 à 21:40
Bonjour,
je démarre en JAVA et j'ai un petit souci surement très bête: j'ai une variable String X dans un IF. Après ce premier bloc de conditions, j'ai un autre bloc IF et apparemment, ma variable X n'a de valeur que dans le premier bloc IF (si je l'appelle dans le second, elle n'est pas trouvée). Je crois avoir lu que ça s'appelle un "scope".
Donc suite à ce constat ma question est la suivante: comment dois-je faire pour la récupérer dans le second bloc IF (voire même après dans d'autres blocs plus loin, style des WHILE) ?
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 26 juin 2007 à 13:08
Salut,
De plus tu ne peux pas redef la class String (elle est en final) donc je sais pas trop ou tu as sorti cette méthode.... peut-etre du code J++ ou du J# compilé avec le compilot de sun ?
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
cs_JeanMi66
Messages postés67Date d'inscriptionsamedi 10 septembre 2005StatutMembreDernière intervention 8 juillet 2008 25 juin 2007 à 10:56
Heuuu, en fait c'est ce que j'ai fait mais ça fonctionne pas. Comme le résultat est renvoyé dans le premier bloc IF, celui-ci reste dans ce bloc là. Alors comment faire pour l'en faire sortir ????
JeanMi66
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_JeanMi66
Messages postés67Date d'inscriptionsamedi 10 septembre 2005StatutMembreDernière intervention 8 juillet 2008 26 juin 2007 à 11:19
Voici mon bout de code qui se trouve dans le MAIN. Toute les variables fonctionnent, hormis user. Sachant que pour l'instant, user est déclaré avant le main comme private static String user; Comme
ça fonctionnait pas, j'ai essayé de le déclarer juste après le WHILE,
comme "valueUser", mais ça fonctionne pas non plus. Pourquoi ? Que
dois-je modifier ?
PS: je démarre en java, c'est ma sixième heure de cours seulement et
mon premier exo alors merci de votre indulgence sur le code. Pour
l'indentation, j'ai fait un copier/coller alors normal si c'est pas
top...
//Initialisation de l'état de la variable qui serira à sortir ou non du programme par choix de l'utilisateur
boolean fini = false;
while (fini == false){
//On cherche à identifier qui est l'utilisateur: compte ou LAconfidential
System.out.println("Bonjour. Etes-vous le titulaire principal du
compte (tapez 1) ou secondaire (tapez 2) ? (0 pour sortir)\n");
double valueUser = Clavier.lireDouble();
if(valueUser == 0){
fini = true;
}
else{
if(valueUser == 1){
user = new String("compte"); ICI, PREMIER RESULTAT POSSIBLE POUR USER
}
else{
user = new String("LAconfidential"); ICI, SECOND RESULTAT POSSIBLE POUR USER
}
System.out.println("Quelle operation voulez-vous effectuer: (0 pour sortir)\n");
System.out.println(" 1- Effectuer un retrait\n 2- Effectuer un
depot\n 3- Effectuer un virement\n 4- Connaitre le titulaire du
compte\n 5- Modifier le nom du titulaire du compte\n\n
******************\n\n");
int choice = Clavier.lireInt();
if(choice == 0){
fini = true;
}
else{
switch(choice){
//Opération permettant le débit du compte à condition que le
montant demandé soit disponible sur le compte, découvert non autorisé
case 1:
System.out.println("Quel montant voulez-vous retirer ? (0 pour sortir)\n");
double amount1 = Clavier.lireDouble();
if(amount1 == 0){
fini = true;
}
else{
if(amount1 <= solde){
user.withDraw(amount1); VOILA, C'EST ICI QUE USER DEVRAIT PRENDRE LA VALEUR DEFINI DANS LE BLOC IF PLUS HAUT
System.out.println(" Vous venez de retirer: " +amount1+ "\n
Votre nouveau solde est a present de: " +user.balance()+ "\n\n");
}
else{
System.out.println("***** Le montant demande est trop important. (0 pour sortir) ***** \n\n");
cs_JeanMi66
Messages postés67Date d'inscriptionsamedi 10 septembre 2005StatutMembreDernière intervention 8 juillet 2008 26 juin 2007 à 11:29
Heuu, de mémoire c'est: cannot find symbol et ça point sur le "user" de "user.withDraw" Mais je pourrais donner le message d'erreur exact entre 14h et 14h30 cet ap s'il le faut