Bonjour,
J'apprends le langage JavaScript depuis voilà 5 jours , et j'essaie de manier les chaines de caractères. J'ai créer une fonction qui indique les infos sur un mot :
Seulement il y a une entrée dans un else qui ne devrait pas se faire.
Si vous pouviez m'expliquez de quoi il en ressort et pourquoi Merci d'avance.
Le problème rencontré :
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83 function menu() { var mot = String(prompt("Mot : ")); if (estPalindrome(mot)) { console.log(mot + " est un palindrome !"); } else { console.log(mot + " n'est pas palindrome !"); } console.log( mot + " à l'envers donne " + motRenverser(mot) +" !\n"); console.log("Voici les infos sur les caractères du mot:\n\n"); infoCaractere(mot); } function motRenverser(mot) { var longueurMot = mot.length - 1; var motRenverser = ''; for( var i= 0; i <= longueurMot; i++) { motRenverser += mot[longueurMot-i]; } return motRenverser; } function estPalindrome(mot) { if(motRenverser(mot) === mot) { return true; } return false;//sinon } function infoCaractere(mot) { var tabVoyelles= "aeiouy"; console.log("\nDans le mot " + mot +" :\n"); for(var iMot= 0; iMot < mot.length; iMot++) // DANS la variable Mot POUR chaque lettre FAIRE : { var estPotentielChiffre= true; // On considère que la lettre en cours est une chiffre var carEnCours= mot[iMot]; // pour plus de clarté for( var iVoyelle= 0; iVoyelle < tabVoyelles.length; iVoyelle++) // DANS tableauVoyelles POUR chaque voyelles FAIRE : { if( carEnCours.toLowerCase() === tabVoyelles[iVoyelle] ) // SI lettre du mot est une voyelles ( contenue dans tableauVoyelles) FAIRE : { console.log("\nLa lettre " + carEnCours + " est une voyelle."); // AFFICHER VOYELLES estPotentielChiffre = false; // Plus besoin de vérifier si c'est un chiffre. } } if(estPotentielChiffre && estUnChiffre(carEnCours) )//SI VAR estPotentielChiffre vaut true et que sa vérification conclu que c'est un chiffre { console.log("Le caractère " + carEnCours + " est un chiffre."); //AFFICHER CHIFFRE ! } else //sinon { console.log("\nLa lettre " + carEnCours + " est une consonne ou un signe de ponctuation."); } } } function estUnChiffre( caractere ) { for (var chiffre = 0; chiffre <= 9; chiffre++) { if (Number(caractere) === chiffre) { return true; } } return false; } menu();
Partager