IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Problème sur ce code ?


Sujet :

Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Problème sur ce code ?
    Bonjour à tous le monde !

    Aujourd'hui je viens vous demandez de l'aide !
    Je débute en java , et mon code est loin d'être parfait !

    Je vous explique , mon but étant de réaliser une "calculatrice" (Addition ou soustraction) mon Ide m'affiche des erreurs , j'ai beau me creuser la tête je n'en trouve pas la provenance .

    Je me permets donc de vous copier/coller mon code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    import java.util.Scanner;
     
    public class Addition {
     
    /*
     * 
     */
    	public static void main(String[] args){
    		byte retry;
    		Scanner sc = new Scanner(System.in);
    		System.out.print ("Bienvenue sur la version 0.3 \n de la calculatrice de Yanis !\n");
    		do
    		{
    		 System.out.print ("Entrez le nombre de vôtre choix :\n1.Addittion\n2.Soustraction\n");
    		 int choi =sc.nextInt();
    		 byte retry1;
    		 if (choi == 1)
    		 {
      		  int nb1 = sc.nextInt();
     		  System.out.print (nb1 + "+\n");
    		  int nb2 =sc.nextInt();
    		  int resultat;
    		  resultat = nb1 + nb2;
    		  System.out.println (nb1 + "+" + nb2 + "=" + resultat );
    		  System.out.print ("");
    		  byte retry =sc.nextByte();                <-------(duplicate local variable retry)
    		  System.out.print ("Programmer Par Yanis Atlati");
     
    		 }
    		 else if (choi == 2)
    		 {
    	      System.out.print ("Entrez le premier nombre\n");
    		  byte nb1 =sc.nextByte();
    		  System.out.print("Entrez le deuxième nombre\n");
    	      byte nb2 =sc.nextByte();
    		  int resultat;
    		  resultat = nb1 - nb2;
    	      System.out.println (nb1 + "-" + nb2 + "=" + resultat );
    		  System.out.print ("Appuyez sur entrée pour fermer le programme .");
    		  byte retry =sc.nextByte();
    	  	  System.out.print ("Programmer Par Yanis Atlati");
    		 }
    		 else
    		 {
    		  System.out.print ("Erreur d'entré . \n Voules vous recommencez ? \n1.Oui\n2.Non");
    		  byte retry =sc.nextByte();            <-------(duplicate local variable retry)
    		 }
     
    		} while (retry1 == 1);                   <-------(duplicate local variable retry)
    	}
     
    }


    La phrase que j'ai mis entre parenthèse est l'erreur affichée .
    Peut-être que l'erreur est grossière et que mon manque d'experience la laissé passer .
    En tout cas je vous en serai très reconnaissant si vous m'apportiez vôtre aide . Milles Merci d'avance !


    Yanis !

  2. #2
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    duplicate local variable retry : La variable est dupliqué. Tu l'as déclare 2fois (ou plus)
    Exemple : monNombre est créé 2 fois, le système ne sais pas lequel prendre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int monNombre = 1;
    int monNombre = 3; (<--- ERROR DUPLICATE)
    Solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int monNombre = 1;
    monNombre = 3;
    Dans ton cas il s'agit de byte retry;
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  3. #3
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut
    Bonjour,

    je crois que votre problème viens de la présentation de votre code.
    En effet, il est difficile d'y retrouver ses petits là-dedans; un peu d'indentation est de sauts de lignes entre les paragraphes ne ralentissent pas le programme, mais au contraire accélère le dépannage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    public class Addition {
     
    public static void main( String[] args )
    {
      byte retry;
      Scanner sc = new Scanner( System.in );
      System.out.print ( "Bienvenue sur la version 0.3 \n de la calculatrice de Yanis !\n" );
     
      do
      {
        System.out.print ( "Entrez le nombre de vôtre choix :\n1.Addittion\n2.Soustraction\n" );
        int choix = sc.nextInt(); // ATTENTION: déclaration dans une boucle !!
        byte retry1; // Idem ci-dessus, ce sont des variables recréées à chaque itération
     
        if (choix == 1 )
        {
          int nb1 = sc.nextInt(); // ENCORE...
     
          System.out.print( nb1 + "+\n" );
          int nb2 =sc.nextInt();
          int resultat;
          resultat = nb1 + nb2;
     
          System.out.println (nb1 + "+" + nb2 + "=" + resultat );
          System.out.print ("");
     
          byte retry =sc.nextByte(); // Encore une variable créée, en doublon avec la variable générale.
     
    System.out.print ("Programmer Par Yanis Atlati");
     
    /.../
    Voilà, avec un peu d'indentation, les erreurs apparaissent clairement.
    La balise code [#] permet aussi de rendre les choses plus claires dans le post.

    En ce qui me concerne, je mets toujours les déclarations de variables en début de méthode ou fonction. Ainsi je les retrouve rapidement, et j'évite les doublons, ou les déclarations superflues. Mais c'est chacun son truc
    @ bientôt...

    Salut & @+ sur 3W!

  4. #4
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par rtg57 Voir le message
    En ce qui me concerne, je mets toujours les déclarations de variables en début de méthode ou fonction. Ainsi je les retrouve rapidement, et j'évite les doublons, ou les déclarations superflues. Mais c'est chacun son truc
    Euh moi j'irais plus loin que dire que c'est chacun son truc. Avoir une structuration de son code équivalente (+ ou -) entre développeur est important histoire de pouvoir reprendre du code existant plus facilement.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  5. #5
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    // ATTENTION: déclaration dans une boucle !!
    Je ne sais pas si c'est dramatique de faire une déclaration dans une boucle si ça concerne un attribut primitif.

    J'avais déjà vu un sujet là dessus mais je ne me souviens plus de la fin

    ps : Yanis-A -> résolu
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Merci à vous trois en effet c'était assez basique !
    Et oui je penserai à la présentation pour mes prochains projet j'avoue qu'on s'y perd assez vite .
    Yanis-A

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème sur le code d'un graphique
    Par rob1son76 dans le forum IHM
    Réponses: 3
    Dernier message: 28/09/2010, 15h56
  2. problème sur un code pour supprimer un fichier
    Par Bricoltou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/02/2010, 19h17
  3. Probléme sur un code
    Par aptagud dans le forum Flash
    Réponses: 3
    Dernier message: 30/08/2007, 14h57
  4. Problème sur macro (2 exécutions de code)
    Par Tsuna78 dans le forum Access
    Réponses: 2
    Dernier message: 19/03/2007, 20h24
  5. [68k] Problème sur un exemple de code
    Par jib2b dans le forum Autres architectures
    Réponses: 2
    Dernier message: 19/04/2006, 23h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo