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

  FORUM HardWare.fr
  Programmation
  Java

  variable cannot be resolved

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

variable cannot be resolved

n°1866367
absot77
Posté le 26-03-2009 à 18:17:56  profilanswer
 

Slt, je suis en train de me faire une calculette toute simple en java et normalement elle est finie sauf que j'ai 4 fois l'erreur "choix cannot be resolved" à la ligne 55 et la ligne 55 est mon while, je vous montre mon code:
 

Code :
  1. import java.util.Scanner;
  2. public class sdz1 {
  3. /**
  4.  * @param args
  5.  */
  6. public static void main(String[] args) {
  7.  // TODO Auto-generated method stub
  8. Scanner lire = new Scanner (System.in);
  9. do{
  10.    double premier;
  11.    double second;
  12.    int choix;
  13.    double res;
  14.    System.out.println("Saisissez un premier nombre" );
  15.    premier = lire.nextDouble();
  16.    System.out.println("Saisissez un deuxieme nombre" );
  17.    second = lire.nextDouble();
  18.    System.out.print("1 pour ajouter /n" +
  19.                 "2 pour soustraire /n" +
  20.                "3 pour multiplier /n" +
  21.                "4 pour diviser /n" +
  22.                "5 pour quitter" );
  23.                        
  24.    choix = lire.nextInt();
  25.    switch (choix){
  26.      
  27.       case '1':
  28.       res = (premier+second);
  29.       System.out.println("Le resultat est " + res);
  30.       break;
  31.      
  32.       case '2':
  33.       res = (premier-second);
  34.       System.out.println("Le resultat est " + res);
  35.       break;
  36.      
  37.       case '3':
  38.       res = (premier*second);
  39.       System.out.println("Le resultat est " + res);
  40.       break;
  41.      
  42.       case '4':
  43.       res = (premier/second);
  44.       System.out.println("Le resultat est " + res);
  45.       break;
  46.      
  47.       Default:
  48.        System.out.println("Erreur de programmation" );
  49.           }
  50.        }
  51. while ( (choix ==1) || (choix ==2) || (choix ==3) || (choix ==4) );
  52. }
  53. }


 
J'ai essayé en mettant choix =='1' mais ça ne change rien, j'ai peut-être mal pensé en programmant et je devrais changer quelques trucs?

mood
Publicité
Posté le 26-03-2009 à 18:17:56  profilanswer
 

n°1866370
souk
Tourist
Posté le 26-03-2009 à 18:42:58  profilanswer
 

choix est un int donc dans tes case, n'entoure pas les valeurs de single quote:
case 1:
...
case 2:
...
etc


Message édité par souk le 26-03-2009 à 18:43:11
n°1866372
absot77
Posté le 26-03-2009 à 18:47:45  profilanswer
 

Je viens d'enlever les guillements et ça ne change rien..  :/

n°1866399
masklinn
í dag viðrar vel til loftárása
Posté le 26-03-2009 à 20:27:12  profilanswer
 

choix est créé dans le do{}while, donc sa scope de définition est entre { et }, ce qui n'inclut pas la condition dans le while [:spamafote]

 

Donc au niveau de la dite condition, choix n'existe pas, d'où le message d'erreur.

 

Accessoirement, ce code est très moche, pourquoi répéter 4 fois de suite System.out.println("Le resultat est " + res);? Pourquoi mettre 4 cas à la condition finale alors que 2 suffisent? Pourquoi forcer l'utilisateur à se chopper un message "erreur de programmation" quand il veut quitter? Pourquoi ne pas dire à l'utilisateur comment quitter, d'ailleurs? Et pourquoi toutes ces parenthèses sans intérêt à travers le code?


Message édité par masklinn le 26-03-2009 à 20:33:27

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1866402
absot77
Posté le 26-03-2009 à 20:34:52  profilanswer
 

Je viens de refaire mon programme et voici mon code final:
 

Code :
  1. import java.util.Scanner;
  2. public class sdz1 {
  3. /**
  4.  * @param args
  5.  */
  6. public static void main(String[] args) {
  7.  // TODO Auto-generated method stub
  8. Scanner lire = new Scanner (System.in);
  9. int choix;
  10. do{
  11.    double premier;
  12.    double second;
  13.    double res;
  14.    System.out.println("Saisissez un premier nombre" );
  15.    premier = lire.nextDouble();
  16.    System.out.println("Saisissez un deuxieme nombre" );
  17.    second = lire.nextDouble();
  18.    System.out.println("1 pour ajouter, 2 pour soustraire, 3 pour multiplier, 4 pour diviser ou 5 pour quitter" );
  19.                        
  20.    choix = lire.nextInt();
  21.    switch (choix){
  22.      
  23.       case 1:
  24.       res = (premier+second);
  25.       System.out.println("Le resultat est " + res);
  26.       break;
  27.      
  28.       case 2:
  29.       res = (premier-second);
  30.       System.out.println("Le resultat est " + res);
  31.       break;
  32.      
  33.       case 3:
  34.       res = (premier*second);
  35.       System.out.println("Le resultat est " + res);
  36.       break;
  37.      
  38.       case 4:
  39.       res = (premier/second);
  40.       System.out.println("Le resultat est " + res);
  41.       break;
  42.           }
  43.        }
  44. while ( (choix ==1) || (choix ==2) || (choix ==3) || (choix ==4) );
  45. }
  46. }


 
Maintenant je vais l'améliorer de façon à ce que l'utilisateur puisse choisiri autant de nombre qu'il veut parce que là il ne peut agir qu'avec deux nombres seulement..


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

  variable cannot be resolved

 

Sujets relatifs
Variable statique ou variable de session ?dossier variable dans un chemin en batch
récupérer différentes valeurs d'une même variable dans un tableau[VBA EXCEL] Récupérer son propre email Outlook dans une variable
Variable et tableauUtiliser une variable dans une fonction range.value
Incrémentation de variableMa variable publique est désinitialisée par mon UserForm
[Shell] : récupération de variable via awkprobleme variable flash =>php
Plus de sujets relatifs à : variable cannot be resolved


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