Les conditions pour un mot de passe.

Fermé
Aruixe Messages postés 14 Date d'inscription mercredi 1 août 2012 Statut Membre Dernière intervention 26 octobre 2013 - 26 oct. 2013 à 16:59
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 26 oct. 2013 à 17:53
Bonjour à tous !
Je suis nouveau dans le domaine de la programmation et ai un projet à remplir (qui est censé être basique pour ainsi développer mon esprit de logique). Concrètement, le projet me demande de laisser l'utilisateur entrer un mot de passe, celui-ci devant répondre à des conditions. J'en ai sélectionné deux : 2 majuscules minimum et 6 caractères au minimum. Jusqu'ici j'ai eu des idées et j'ai commencé à construire mon programme que voici :


import java.util.Scanner;


public class Hello {

public static void main(String[] args) {
// TODO Auto-generated method stub

Scanner sc = new Scanner(System.in);
System.out.println("Veuillez definir votre mot de passe, celui-ci doit contenir un minimum de 6 caracteres :");
String str = sc.nextLine(); // Permet l'entrée du mot de passe
int charCount = str.length();
int characterCount = str.codePointCount(0, charCount); // Variable nombre de caractères
if(characterCount >= 6)
{
System.out.println("Mot de passe valide.");
}

else
{
System.out.println("Mot de passe invalide; il doit contenir un minimum de 6 caracteres.");
}

}

}


Vous avez dû remarquer que je n'ai qu'une seule condition de présente, celle des 6 caractères. En effet je ne trouve pas comment définir un minimum de majuscules dans le mot de passe demandé. J'ai utilisé "int characterCount = str.codePointCount(0, charCount);" pour le nombre de caractères mais n'ai pas d'équivalence pour les majuscules.

Je vous demande donc votre aide ! Merci d'avance. Si je n'ai pas été assez précis n'hésitez pas à me demander plus d'informations.


A voir également:

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
26 oct. 2013 à 17:53
Tu peux te servir des méthodes de la classe Character qui permettent de savoir pour un caractère les différentes propriétés qui le caractérise.

Exemple :

char ch = '?';

boolean digit = Character.isDigit(ch);
boolean letter= Character.isLetter(ch);
boolean lower = Character.isLowerCase(ch);
boolean upper = Character.isUpperCase(ch);
...

Quand on connaît cette classe là, ton problème devient très simple ;-)
0