Regex [Résolu]

Messages postés
1
Date d'inscription
jeudi 8 novembre 2018
Statut
Membre
Dernière intervention
8 novembre 2018
-
Bonjour, j'essaye de verifier l'age mais je n'arrive pas car age est entier et matches fonctionne avec les sting , besoin d'aide svp
int age;
      Scanner sc = new Scanner(System.in);
      
      System.out.println("entrer votre nom");
      age = sc.nextInt();
      String exp1="^[0-9]{2}+$";
      
      System.out.print(age.matches(exp1));


EDIT : AJout des balises de code
Afficher la suite 

Votre réponse

1 réponse

Messages postés
13321
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 mai 2019
275
0
Merci
Bonjour,
Ce n’est pas un problème de regex mais « logique » de code.
Déjà, tu demandes le nom et tu lit l’âge. Y’a une incohérence dans le texte.

Pour ton souci:
  • soit tu lis l’age en string, tu le vérifiesavec la regex et tu le convertis en int.
  • soit tu le lis en int et tu le verifies avec >


A l’avenir, merci de poster ton code avec la coloration syntaxique, explications ici https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
KX
Messages postés
15992
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
27 mai 2019
84 -
Bonjour,

Petit ajout, quant à l'utilisation de la regex :
{2}+
est faux.
Soit on met
{2}
(exactement 2), soit on met
+
(au moins 1), mais pas les deux.

Pour moi une bonne regex pour l'âge (d'un humain) devrait être
1[0-2][0-9]|[1-9][0-9]|[0-9]
Whismeril
Messages postés
13321
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 mai 2019
275 -
Salut, en effet je n’ai même pas vérifié la regex. J’ai déplacé le sujet dans le forum Java et repondu sur le fond.
Commenter la réponse de Whismeril