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 :

La boucle 'for" !


Sujet :

Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 28
    Points : 16
    Points
    16
    Par défaut La boucle 'for" !
    Bonjour/bonsoir,

    Je suis en L1 de maths et j'ai une matière info. C'est la première fois de ma vie que je fais de la programmation (c'est un début d'initiation).
    Je bloque vraiment sur la boucle for.

    J'ai deux exemples que je ne comprends pas. Je voudrais bien des explications quant à ce que le programme exécutera (je ne peux pas vérifier moi-même).

    Les voici :
    1/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for (int i=0; i<100; i++) {
        if (i%2==0) {
            printString ("Pair.");
        } else {
            printString ("Impair.");
        }
    }
    Pour cette boucle, je comprends bien que le programme va faire prendre à l'entier i les valeurs de 0 à 99 avec un pas de 1 (0, 1, 2, ..., 98, 99). Mais ensuite ? Si le reste de la division euclidienne de i par 2 est égal à 0, alors l'entier est pair ?
    Donc qu'affiche le programme ?
    i=0 => "Pair"
    i=1 => "Impair"
    ...
    i=99 => "Impair"
    ?
    Donc est-ce qu'il affiche : Pair Impair ... Impair ? Ou bien 1 2 3 4 5 ... 99 ?

    2/ Et le deuxième, le plus difficile (pour moi, hein ) !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int x=0;
    String s="";
    for (int n=0; n<10; n++){
        x=x+1;
        s=s+"1";
    }
    Que valent les variables x et s après les instructions précédentes ?

    Donc là je comprends bien que l'entier x est initialement égal à 0, que la chaîne de caractères s est vide, puis que l'entier n prend les valeurs de 0 à 9 avec un pas de 1.
    Mais après, je ne comprends plus rien !
    x=x+1 donc x=0+1=1 puis x=1+1=2 etc etc.
    s=s+"1" donc s="1" puis s="1"+"1"="11" puis "11"+"1"="111" etc.
    Donc qu'affiche ce programme ?
    Affiche-t-il : 0 1 2 3 4 5 6 7 8 9 ?
    Ou affiche-t-il la valeur de x et de s 10 fois (correspondant à n=0, n=1,..., n=9 ?

    Voilà, j'aurais réellement besoin d'être éclaircie. Je ne sais pas si je suis claire dans mes 'questions' !
    Merci pour vos réponses et bonne journée / soirée.

  2. #2
    Membre averti Avatar de Neolex
    Homme Profil pro
    Recherche emploi Securité informatique
    Inscrit en
    Avril 2011
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Recherche emploi Securité informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 243
    Points : 333
    Points
    333
    Par défaut
    Bonsoir ,

    Alors pour la première boucle for , tu as plutôt bien compris . Par contre le programme n'affiche que ce qu'on lui demande d'afficher et rien d'autre , il affiche donc que ce qui est dans la fonction "printString" donc si l'entier est pair ( "i%2==0") il affichera simplement "pair" et sinon "impair" et ce à chaque ittération de la boucle .

    La deuxième boucle for n'est pas plus complexe tu as bien compris ce qu'elle faisait , cependant elle n'affiche rien , tu remarqueras qu'il n'y a pas de fonction "print.." donc on ne lui demande pas d'afficher quoi que ce soit .
    Elle va juste augmenter x de 1 à chaque ittération , et concatener ( additionne des chaines de caractere ) la chaine s avec "1" à chaque fois .
    Donc à la fin de la boucle x vaudra 10 et la string s vaudra "1111111111" .

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Coucou !

    Merci pour la réponse, ça me confirme bien ce que je pensais !

    Bonne journée à toi !

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/07/2004, 11h21
  2. [Debutant] Batch et Boucle for
    Par ludovic.fernandez dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 06/05/2004, 20h21
  3. [Swing][boucles] for, do, if .....comment faire simple?
    Par chastel dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 02/05/2004, 23h49
  4. [langage] boucle "for" modification du pas
    Par K-ZimiR dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2004, 12h54

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