Vérifier si un Char est bien au bon format
Résolu
Potame137
Messages postés
32
Date d'inscription
Statut
Membre
Dernière intervention
-
Potame137 Messages postés 32 Date d'inscription Statut Membre Dernière intervention -
Potame137 Messages postés 32 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
bonjour je cherche a entrer 10 Char et de vérifié si il sont au bon format, c'est a dire de deux lettres en majuscule et 10 chiffre et une autre majuscule a la fin, exemple AB0123456789C.
ya t'il une méthode pour vérifier or length() ?
bonjour je cherche a entrer 10 Char et de vérifié si il sont au bon format, c'est a dire de deux lettres en majuscule et 10 chiffre et une autre majuscule a la fin, exemple AB0123456789C.
ya t'il une méthode pour vérifier or length() ?
public class test { public static void main(String[] args) { char [] Tab = new char [10]; char x ; boolean b; for(int i=0;i<10;i++) { System.out.print("Donner le mot numero "+(i+1)+" : "); x=Lire.c(); } } }
A voir également:
- Vérifier si un Char est bien au bon format
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
- Format bin - Guide
2 réponses
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)
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]));
}
}
}
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
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.