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

avec Java Discussion :

pb avec ces incrementation


Sujet :

avec Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut pb avec ces incrementation
    bonjour
    auriez vous amabilité de m'expliquez ces
    incrémentation s'il vous plaît

    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
     
    while(n<5) n+=2;p++;
    System.out.println("increment n= " + n);
    System.out.println("increment p= " + p);
     
    while(n<5) {n+=2;p++;}
    System.out.println("increment n= " + n);
    System.out.println("increment p= " + p);
     
    for(i=0, n=0; i<5; i++) n++;
    System.out.println("increment i= " + i);
    System.out.println("increment n= " + n);
     
    for(i=0, n=0; i<5; i++, n++){}
    System.out.println("increment i= " + i);
    System.out.println("increment n= " + n);
     
    for(i=0, n=50; i>10; i++, n-=i){}
    System.out.println("C:i="+i+",n="+n);
     
    for(i=0, n=0; i<3; i++, n+=i,
    System.out.println("D:i="+i+",n="+n))
    System.out.println("E:i="+i+",n="+n);

  2. #2
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Bonjour,

    Qu'est-ce qui te pose problème exactement?
    Peux-tu préciser?

  3. #3
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Citation Envoyé par domxaline Voir le message
    bonjour
    auriez vous amabilité de m'expliquez ces
    incrémentation s'il vous plaît

    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
     
    while(n<5) n+=2;p++;
    System.out.println("increment n= " + n);
    System.out.println("increment p= " + p);
     
    // équivaut à
     
    while(n<5) {n+=2;p++;}
    System.out.println("increment n= " + n);
    System.out.println("increment p= " + p);
     
    // ---------------------------------------------------
     
    for(i=0, n=0; i<5; i++) n++;
    System.out.println("increment i= " + i);
    System.out.println("increment n= " + n);
     
    // équivaut à
     
    for(i=0, n=0; i<5; i++, n++){}
    System.out.println("increment i= " + i);
    System.out.println("increment n= " + n);
     
    // ---------------------------------------------------
     
    for(i=0, n=50; i>10; i++, n-=i){}
    System.out.println("C:i="+i+",n="+n);
     
    for(i=0, n=0; i<3; i++, n+=i,
    System.out.println("D:i="+i+",n="+n))
    System.out.println("E:i="+i+",n="+n);
    Ce sont des manières différentes d'écrire des boucles qui agissent sur 2 variables.

    Ça ressemble à des exercices devinette, que vaut i,n ou p à la fin de la boucle.

    Mais comme dit Deaf, précise ce qui te pose problème !

  4. #4
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Citation Envoyé par Génoce Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    while(n<5) n+=2;p++;
    System.out.println("increment n= " + n);
    System.out.println("increment p= " + p);
     
    // équivaut à
     
    while(n<5) {n+=2;p++;}
    System.out.println("increment n= " + n);
    System.out.println("increment p= " + p);
    Ce n'est pas exact. En fait, on a plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    while(n<5) n+=2;p++;
    System.out.println("increment n= " + n);
    System.out.println("increment p= " + p);
     
    // équivaut à
     
    while(n<5) {n+=2;} p++;
    System.out.println("increment n= " + n);
    System.out.println("increment p= " + p);
    Ce qui change la valeur de p.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    mon problem est ,
    je ne comprend pas ces incrementation,
    quelqu'un peut expliquer en details,ça m'irai bien
    ex:
    au debut premier incrementation
    n=0, p=0
    n=2, p=0
    n=4, p=1
    je ne sais pas ,est ce que c'est bon!!!après je perd

  6. #6
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Ah ben je suis tombé dans le panneau, j'ai lu en travers.

    Ça confirmes l'idée de l'exercice

  7. #7
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Citation Envoyé par domxaline Voir le message
    mon problem est ,
    je ne comprend pas ces incrementation,
    quelqu'un peut expliquer en details,ça m'irai bien
    ex:
    au debut premier incrementation
    n=0, p=0
    n=2, p=0
    n=4, p=1
    je ne sais pas ,est ce que c'est bon!!!après je perd
    le mieux c'est d'indenter correctement pour s'y retrouver :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    while (n<5) 
         n+=2;
    p++;
     
    // équivaut à (merci Deaf)
     
    while (n<5) {
         n+=2;
    }
    p++;

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    pour le premier
    n=0, p=0
    n=2, p=0
    n=4, p=1

    n<5 c'est 4
    j'ajoute 2 avec maintenant valeur de n est 6
    valeur de p =1
    c'est bien ça?

  9. #9
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Oui, mais fait le tourner pour t'en persuader =)
    Ça coûte rien !

  10. #10
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Citation Envoyé par domxaline Voir le message
    pour le premier
    n=0, p=0
    n=2, p=0
    n=4, p=1

    n<5 c'est 4
    j'ajoute 2 avec maintenant valeur de n est 6
    valeur de p =1
    c'est bien ça?
    Le résultat final est bon : 6, 1
    Par contre, la 3e étape est fausse, c'est
    n=4, p=0, puis
    n=6, p=0 et enfin
    n=6, p=1.
    La variable 'p' n'est incrémentée que lorsque l'on sort de la boucle, à savoir quand n=6.

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    pour ça ,j'ai compris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while(n<5) n+=2;p++;
    System.out.println("increment n= " + n);
    System.out.println("increment p= " + p);
    maintenant celui ci,expliquez moi s'il vous plaît
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    while(n<5) {n+=2;p++;}
    System.out.println("increment n= " + n);
    System.out.println("increment p= " + p);

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    j'ai encore un doute sur incrementation précedent
    pourquoi n commence pas par 0
    au lieu de commencer par 0. n commence par 4?
    explique moi s'il te plaît
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Le résultat final est bon : 6, 1
    Par contre, la 3e étape est fausse, c'est
    n=4, p=0, puis
    n=6, p=0 et enfin
    n=6, p=1.
    La variable 'p' n'est incrémentée que lorsque l'on sort de la boucle, à savoir quand n=6.

  13. #13
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Non, il commence bien à 0.
    C'est juste que j'ai repris ta séquence à partir de la 3e étape, là où il y avait une erreur.

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    peux tu me faire depuis 0,je suis perdu dans la nature

  15. #15
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    n=0, p=0
    n=2, p=0
    n=4, p=0
    n=6, p=0 sort de la boucle car n > 5
    n=6, p=1.

  16. #16
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Début:
    n=0, p=0

    Boucles:
    1. n=2, p=0
    2. n=4, p=0
    3. n=6, p=0

    Après la boucle (et fin):
    n=6, p=1


    Tu n'es visiblement pas familiarisé avec les structures de boucles while et for. Je te conseilles de te faire des petits programmes avec des sorties console (System.out.println) pour bien suivre le fonctionnement.

    Quand tu penseras avoir pigé le truc, revient vers ces exemples et essaie de deviner ce que ça donne.
    Je ne suis pas convaincu qu'en te filant les réponses directement, cela t'aide vraiment.

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    merci maintenant deuxième incrémentation s'il te plaît

  18. #18
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Tu devrais écouter les conseils de Deaf ...

    Sinon pose la boucle sur papier et parcours la à la main, et reviens vers nous ensuite.

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 171
    Points : 163
    Points
    163
    Par défaut
    L'absence d'accolades semble être ce qui fait que tu ne comprends pas.

  20. #20
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Salut,

    Tel qu'il est, ton code compile et s'exécute, même si le résultat n'est pas ce que tu attends:

    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
     
             int n = 0;
             int p = 0;
             int i = 0;
     
             while(n<5) n+=2;p++;
             System.out.println("increment n= " + n); // n=6
             System.out.println("increment p= " + p); // p=1
     
             while(n<5) {n+=2;p++;} // n=6 donc on ne passe pas dans la boucle
             System.out.println("increment n= " + n); // n=6
             System.out.println("increment p= " + p); // p=1
     
             for(i=0, n=0; i<5; i++) n++;
             System.out.println("increment i= " + i); // i=5
             System.out.println("increment n= " + n); // n=5
     
             for(i=0, n=0; i<5; i++, n++){} // c'est identique au for ci-dessus
             System.out.println("increment i= " + i); // i=5
             System.out.println("increment n= " + n); // n=5
     
             for(i=0, n=50; i>10; i++, n-=i){}  // i=0 donc non >10: pas d'incrémentation
             System.out.println("C:i="+i+",n="+n); // i=0 et n=50
     
             for(i=0, n=0; i<3; i++, n+=i,
             System.out.println("D:i="+i+",n="+n)) // pas d'affichage de D, ce sera fait dés le second tour
                System.out.println("E:i="+i+",n="+n); // i=0 et n=0 au 1er tour
                // au second tour, D: i=1 n=1, E: i=1 n=1
                // au troisieme tour, D: i=2 n=3, E: i=2 n=3
                // au quatrieme tour, D: i=3 n=6
    Mais étant donné que tu n'arrives pas à interpréter ce code, si je peux te donner un petit conseil, simplifie sa lecture en ne mettant qu'une "fonction" par ligne comme par exemple:

    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
     
             int n = 0;
             int p = 0;
             int i = 0;
     
             while(n<5)
             {         // meme si c'est inutile ajoute les accolades
                n+=2;
             }
             p++;
             System.out.println("increment n= " + n);
             System.out.println("increment p= " + p);
     
             while(n<5)
             {
                n+=2;
                p++;
             }
             System.out.println("increment n= " + n);
             System.out.println("increment p= " + p);
     
             for(i=0, n=0; i<5; i++)
             {
                n++;
             }
             System.out.println("increment i= " + i);
             System.out.println("increment n= " + n);
     
             for(i=0, n=0; i<5; i++, n++)
             {
             }
             System.out.println("increment i= " + i);
             System.out.println("increment n= " + n);
     
             for(i=0, n=50; i>10; i++, n-=i)
             {
             }
             System.out.println("C:i="+i+",n="+n);
     
             for(i=0, n=0; i<3; i++, n+=i,
             System.out.println("D:i="+i+",n="+n))
             {
                System.out.println("E:i="+i+",n="+n);
             }
    Cordialement,

    Dan

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/12/2006, 10h41
  2. [XSLT] Copier un noeud avec ces éléments sauf un
    Par DelphLaga dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 12/10/2006, 13h55
  3. Des problemes avec ces threads <pthread.h>
    Par nasamad dans le forum GTK+ avec C & C++
    Réponses: 26
    Dernier message: 07/07/2006, 12h46
  4. [UML] Que peut-on vraiment faire avec ces logiciels ?
    Par pugnator dans le forum Outils
    Réponses: 6
    Dernier message: 07/12/2005, 11h31
  5. update du colonne avec entier incrementé
    Par superfly dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/05/2004, 17h26

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