résoudre ce problème en java.

Statut
N'est pas ouverte pour d'autres réponses.

hossamael

Nouveau membre
On vous demande d'ecrire un validateur de mot de passe respectant un ensemble de regles.

Au démarrage le programme affiche le message:

Entrez un mot de passe:

L'utilisateur entre alors un mot de passe au clavier. Le programme vérifie si le mot de passe respecte toutes les règles suivantes:

la longueur du mot de passe doit être comprise entre 6 et 10 caracteres inclus,
le premier et le dernier caractère du mot de passe doivent être des chiffres, dont la somme vaut 10
le deuxième caractère du mot de passe doit être une lettre majuscule ou minuscule (non accentuée).
le mot de passe ne doit pas contenir de caractère espace ' '.
le mot de passe doit contenir à la fois des minuscules ET des majuscules
Pour cela le programme va calculer une variable boolean validite. Il devra ensuite afficher sa valeur. Votre pogramme affichera:

Validite: true

si le mot de passe entré respecte toutes les règles ou bien,

Validite: false

si le mote de passe entré ne respecte pas toutes les règles.

Ex de session de programme (alternant entrée de l'utilisateur et affichage du programme):

java PasswordChecker
Entrez un mot de passe:
8Pjava2
Validite: true


Contraintes à respecter et indications pour vous aider
Pour lire le mot de passe au clavier vous devez utiliser la méthode nextLine de la classe Scanner.
IMPORTANT: vous n'avez pas le droit d'utiliser les structures de contrôle: pas de if, switch, while, for, ni l'opérateur ternaire ( ?: ) ni les exceptions (pas de try/catch).
Vous devrez bien-entendu pour cela utiliser les opérateurs de comparaison (==, !=, >, <, >=, <=) et les opérateurs booléens (&&, ||, !).
Les seules fonctions (méthodes) que vous avez par ailleurs le droit d'utiliser sont:
System.out.println
le nextLine de Scanner
les méthodes suivantes de String:
length, charAt, substring, indexOf, toLowerCase, toUpperCase, equals
En particulier vous n'avez pas le droit d'utiliser Character.isDigit, Character.isUpperCase ni Character.isLowerCase.
Pour vérifier si un char est un chiffre vérifiez s'il est supérieur ou égal à '0' et inférieur ou égal à '9'.
Si vous convertissez un char en int avec un cast, le résultat est le code numérique unicode du caractère. Ex: System.out.println((int)'6') affichera 54. Pour convertir un char, que vous savez déjà être un chiffre, en un int, une manière est de soustraire le code du '0':
(int)'6'-(int)'0' vaudra bien 6. Merci de me répondre et félicitation d'avoir résolu mon travail pratique
 

zeb

Modérateur
Salut,

Tu comptes sur nous pour faire tes devoirs ?!
Pas question.
C'est contraire au règlement.
 
Statut
N'est pas ouverte pour d'autres réponses.
Derniers messages publiés
Statistiques globales
Discussions
730 125
Messages
6 717 777
Membres
1 586 361
Dernier membre
Florian3549
Partager cette page
Haut