programmation Java (école d'ingénieur) · Chapitre 6 · Application directe du cours
Valider un mot de passe
Chaînes de caractères et entrées · niveau 2
Énoncé
Un mot de passe est accepté s'il compte au moins caractères, dont au moins une majuscule, une minuscule et un chiffre. Écrire static boolean motDePasseValide(String mdp) et la tester sur Azerty12, azerty12, Azertyui, Az1 et MotDePasse2026.
Corrigé
static boolean motDePasseValide(String mdp) {
if (mdp.length() < 8) return false;
boolean maj = false, min = false, chiffre = false;
for (int i = 0; i < mdp.length(); i++) {
char c = mdp.charAt(i);
if (Character.isUpperCase(c)) maj = true;
else if (Character.isLowerCase(c)) min = true;
else if (Character.isDigit(c)) chiffre = true;
}
return maj && min && chiffre;
}
Trois booléens retiennent ce que l'on a déjà rencontré ; ils ne peuvent que passer de false à true. Le test de longueur est fait d'abord : inutile de parcourir un mot trop court.
Azerty12 -> true
azerty12 -> false
Azertyui -> false
Az1 -> false
MotDePasse2026 -> true
azerty12 n'a pas de majuscule, Azertyui pas de chiffre, Az1 est trop court.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.