Adloun

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

Exercice suivant et tuteur

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.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →