Vérifier si un Char est bien au bon format
Résolu/Fermé
Potame137
Messages postés
32
Date d'inscription
lundi 23 mai 2016
Statut
Membre
Dernière intervention
17 août 2020
-
Modifié le 26 juin 2018 à 22:17
Potame137 Messages postés 32 Date d'inscription lundi 23 mai 2016 Statut Membre Dernière intervention 17 août 2020 - 28 juin 2018 à 08:32
Potame137 Messages postés 32 Date d'inscription lundi 23 mai 2016 Statut Membre Dernière intervention 17 août 2020 - 28 juin 2018 à 08:32
A voir également:
- Vérifier si un Char est bien au bon format
- Format epub - Guide
- Verifier un lien - Guide
- Telecharger format factory - Télécharger - Conversion & Codecs
- Format apfs - Guide
- Comment formater un pc - Guide
2 réponses
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
26 juin 2018 à 22:36
26 juin 2018 à 22:36
Bonjour,
Comment ton format "deux lettres en majuscule et 10 chiffre et une autre majuscule a la fin" pourrait être vérifié si tu ne saisis que 10 char ? Il t'en faudrait au moins 13 pour écrire AB0123456789C
Ceci mis à part, en Java, comme dans la plupart des langages informatiques, tu peux manipuler des expressions régulières qui te permettent de faire ce genre de vérifications.
Voir la méthode String.matches(String) par exemple.
https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#matches(java.lang.String)
Comment ton format "deux lettres en majuscule et 10 chiffre et une autre majuscule a la fin" pourrait être vérifié si tu ne saisis que 10 char ? Il t'en faudrait au moins 13 pour écrire AB0123456789C
Ceci mis à part, en Java, comme dans la plupart des langages informatiques, tu peux manipuler des expressions régulières qui te permettent de faire ce genre de vérifications.
Voir la méthode String.matches(String) par exemple.
https://docs.oracle.com/javase/10/docs/api/java/lang/String.html#matches(java.lang.String)
Potame137
Messages postés
32
Date d'inscription
lundi 23 mai 2016
Statut
Membre
Dernière intervention
17 août 2020
28 juin 2018 à 01:17
28 juin 2018 à 01:17
voila mon code mais je n'arrive pas a faire autre chose que renvoillier AB123456789C true alors que je veux aussi que d'autre entrée telle que AZ147258369P return true comment faire ?
import java.io.*;
import java.util.Scanner;
public class Test4 {
public static void main(String args[]) {
String Str = new String("AB123456789C");
String [] tab = new String [10] ;
for(int i = 0; i <= 10; i++) {
System.out.println("Entrez Deux majuscule, neuf chiffre et une majuscule ");
tab[i]= Lire.S();
System.out.print("Return Value :" );
System.out.println(Str.matches(tab[i]));
}
}
}
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
28 juin 2018 à 08:09
28 juin 2018 à 08:09
Str.matches(tab[i])c'est dans l'autre sens que ça s’utilise. Ici c'est toujours "AB123456789C" que tu vérifies comme correspondant à l'expression régulière que tu saisis, or il faudrait faire l'inverse, vérifier ce que tu saisis avec une expression régulière fixée, puisque ton format ne va pas changer.
String regex = "[A-Z]{2}[0-9]{9}[A-Z]"; String s = Lire.S(); System.out.println(s.matches(regex));
Voir https://regex101.com/r/jrsZbM/1
Potame137
Messages postés
32
Date d'inscription
lundi 23 mai 2016
Statut
Membre
Dernière intervention
17 août 2020
28 juin 2018 à 08:32
28 juin 2018 à 08:32
Ok super j'ai compris merci !
27 juin 2018 à 18:02
je n'ai pas compris comment marche le String.matches, sont but et de renvoillier true si la chaîne correspond
a l'éxpresion réguliére donnée mais l exemple l'exemple n'est pas parlant.
27 juin 2018 à 19:36