Exercice 6/6

Soit les variables var1 et var2 qui contiennent chacune du texte identique au début puis qui diffère (les chaînes sont de même longueur).

Dans le fichier "script.js" :

  • écrivez une structure while;
  • tant que les 2 caractères comparés sont identiques incrémentez i (voir l'astuce);
  • après la boucle, affichez simplement i avec alert(). La valeur contenue sera la position à partie de laquelle les chaînes sont différentes.
  • cliquez sur "Soumettre ma réponse".

Leçon 6/6

Exercice de rappel dans lequel il faut écrire un script qui compare deux chaînes lettre par lettre et récupère la position à partir de laquelle les chaînes diffèrent.

Pour comparer les deux caractères en cours, il suffit de vérifier leur égalité ainsi :

chaine1.charAt(i) == chaine2.charAt(i);

Commentaires les mieux notés

  • david.messagerie

    david.messagerie

    Merci mram.

    le 03/03/2017 à 23h21

  • y.redjah

    y.redjah

    je ne comprends vraiment pas ce qu'il se passe... var i = 0; while (var1.charAt(i) == var2.charAt(i)); { i++; } alert(i);

    le 25/04/2017 à 22h12

  • mram

    mram Admin

    Il ne faut pas de ";" à la fin de la ligne 2.

    le 21/05/2017 à 22h15

  • mram

    mram Admin

    Ligne 2, il n'y a pas besoin de ";" à la fin de la ligne. Ce n'est pas une instruction mais une structure de contrôle.

    le 26/04/2017 à 15h13

  • mickael.59300

    mickael.59300

    Help ! var i =0; while (var1.charAt(i) == var2.charAt(i));{i++;} alert(i);

    le 03/04/2017 à 18h25

20 Commentaires

  • nkeshimanabrice-37

    nkeshimanabrice-37

    pouvez-vous corriger...

    le 10/12/2018 à 16h55

  • meriam

    meriam Admin

    Utiliser == pour faire la comparaison des caractères( var1.charAt(i) == var2.charAt(i)), le signe = pour faire l'affectation , == pour vérifier si les deux varaibles ont la meme valeur , et === pour vérifier si les variables ont la meme valeur et le meme type).

    le 11/12/2018 à 09h45

  • ets_raphael-59

    ets_raphael-59

    Je ne comprends pas pourquoi le miens ne marche pas pourtant tout y est..

    le 26/07/2018 à 23h06

  • mram

    mram Admin

    Peut-être un espace après "while" ? A tester ...

    le 02/08/2018 à 05h04

  • yselim1-13

    yselim1-13

    Incompréhensible, toujours impossible de valider cet exercice comme les précedents. Voilà le message qu'il m'affiche : Vérifiez la structure de la boucle while. Avez-vous bien incrémenté "i" dans la boucle ?,Avez-vous bien affiché "i" avec alert() ? Pourriez-vous valider mes exercices afin que je puisse continuer en toute sérénité svp ? Merci

    le 25/06/2018 à 00h57

  • mram

    mram Admin

    Il faut mettre alert() en dehors de la boucle, car on souhaite afficher une fois que la boucle à fini de s'exécuter.

    le 28/06/2018 à 03h32

  • lolululo-22

    lolululo-22

    bonjour, je ne comprends pas mon erreur. var i = 0; while (var1.charAt(i) == var2.charAt(i)) { i++; } alert(i);. Quand je clique sur soumettre, il m'affiche "Vérifiez la structure de la boucle while. Avez-vous bien incrémenté "i" dans la boucle ?".

    le 05/06/2018 à 16h48

  • mram

    mram Admin

    Bonjour, attention aux espaces inutiles en fin de ligne. Le code lui-même est correct.

    le 07/06/2018 à 04h59

  • nathalie.chenparis

    nathalie.chenparis

    Bonjour, ne faite pas attention a mon précedent commentaire, j'ai saisie (j'ai mal lu l'énoncé) merci quand meme !

    le 14/05/2018 à 12h14

  • veronique.nollet

    veronique.nollet

    Bonjour, j'ai le message suivant : Unexpected token { je ne vois pas : var i = 0; while (var1.charAt(i) == var2.charAt(i) { i++; } alert(i);

    le 17/04/2018 à 21h00

  • mram

    mram Admin

    Bonjour, il manque une parenthèse ) ligne 2.

    le 18/04/2018 à 05h17

  • charlotte.pupet34-92

    charlotte.pupet34-92

    je vois pas mon erreur ici : var i = 0; while(var1.charAt(i) == var2.charAt(i)) { i++; } alert(i)

    le 24/03/2018 à 23h26

  • mram

    mram Admin

    Bonjour, ajoutez juste un espace après "while" et ça devrait être bon.

    le 28/03/2018 à 05h58

  • djalloh2016-72

    djalloh2016-72

    Bonjour tout le monde une petite précision:retenez une fois pour toute votre vie on ne met jamais un";" à la fin de la condition while(),for() ou if() car ce sont pas des instructions c'est seulement à l'intérieur des accolades qu'on met les ";" normalement pour celui qui n'a sauter aucun exo devrait qu'à même comprendre cela ce que je dis là est valable pour tous les langages de programmations

    le 27/02/2018 à 18h40

  • m.benamara94

    m.benamara94

    Bonjour, quel est mon erreur ? var i = 0; while (var1.charAt(i) == var2.charAt(i)); { i++; } alert(i);

    le 07/01/2018 à 21h53

  • mram

    mram Admin

    Bonjour, il ne faut jamais mettre de " ; " au niveau d'une structure de contrôle (while, for, if, else ... ).

    le 12/01/2018 à 01h31

  • jeanrigaber

    jeanrigaber

    help message d'erreur "i" ne contient pas la valeur attendue. Revoyez votre code. mon code var i = 0;while (var1.charAt(i) == var2.charAT(i)){i++;}alert(i)

    le 31/08/2017 à 14h35

  • mram

    mram Admin

    Bonjour, et oui ligne 2 c'est .charAt() et non .charAT() ...

    le 06/09/2017 à 10h07

  • triplaxs

    triplaxs

    bonjours var i=0; while (var1.charAt(i) == var2.charAt(i)) { i++; } alert(i);

    le 14/08/2017 à 14h24

  • mram

    mram Admin

    Bonjour, ligne 3 il y a un espace en trop en fin de ligne, on attend un retour à la ligne direct.

    le 17/08/2017 à 15h39

  • alexdisdier

    alexdisdier

    j'ai checker avec la console et mon code marche. Quel est mon erreur? var i = 0; while (var1.charAt(i) === var2.charAt(i)) { i++; } alert(i);

    le 04/07/2017 à 22h23

  • mram

    mram Admin

    Bonjour, oui en effet mais ici l'opérateur de comparaison est trop strict, il faut utiliser celui qui ne vérifie que les valeurs et non le type de variable (ligne 2).

    le 07/07/2017 à 11h36

  • bernardraphael13

    bernardraphael13

    Erreur(s) : Vérifiez la structure de la boucle while. Avez-vous bien incrémenté "i" dans la boucle ?mon code var i=0; while (var1.charAt(i)==var2.charAt(i)) { i++; } alert(i);

    le 23/06/2017 à 14h04

  • mram

    mram Admin

    Mettez l'accolade ligne 2 à la ligne suivante.

    le 28/06/2017 à 15h04

  • mram

    mram Admin

    Il ne faut pas de ";" à la fin de la ligne 2.

    le 21/05/2017 à 22h15

  • danderhy3

    danderhy3

    bonjour , j'ai une erreur quelque part dans mon code pouvez vous m'indiquer lequel merci var i = 0; while (var1.charAt(i) == var2.charAt(i)); { i++; } alert(i); MESSAGE OF NULL

    le 16/05/2017 à 11h27

  • mram

    mram Admin

    Ligne 2, il n'y a pas besoin de ";" à la fin de la ligne. Ce n'est pas une instruction mais une structure de contrôle.

    le 26/04/2017 à 15h13

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Exercice rappel 6</title> <script src="script.js"></script> </head> <body> </body> </html>
/* Vous pouvez modifier le contenu des variables */ var var1 = 'abcdefghijklmnopqrstuvwxyz'; var var2 = 'abcdefghijklmn123456789ABC'; var i = 0; /* Votre boucle ici */ alert(i);