Bonjour,
Je vous écris car j'ai un souci.
Un utilisateur doit entré une date dans un jTextField ayant la syntaxe suivante : jj/mm/aaaa.
Je récupère ce champ en tant que String (pas besoin de le récupérer en tant que Date car je ne manipule pas par la suite).
Concernant la vérification du jour, pas de problème :
où formdatecreation est la date entré par l'utilisateur et recuepéré en tant que String.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 int jourint = Integer.parseInt(formdatecreation.substring(0,2)); if((jourint<=0)||(jourint>31)){ JOptionPane.showMessageDialog(framecompte, "Veuillez saisir un jour compris entre 0 et 31"); jTFdatecreation.requestFocus(); return; }
Le problème concerne le mois. J'aimerais vérifier s'il est bien compris entre 0 et 12. J'avais donc tenté, au départ ceci :
Mais sa plante, surement du a cause des antislash (caractère d'échappement si j'ai bien compris).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 int moisint = Integer.parseInt(formdatecreation.substring(3,2)); if((moisint<=0)||(moisint>12)){ JOptionPane.showMessageDialog(framecompte, "Veuillez saisir un mois correcte"); jTFdatecreation.requestFocus(); return;
J'ai donc utilisé une Regex pour enlevé les "/" comme ceci :
puis j'ai rententé mais sa plante toujours. Enfaite, il vire bien les "/" mais c'est pas pour autant que je peux atteindre le mois sans que sa plante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String datecomptenoslash = formdatecreation.replaceAll("/", "_");
J'ai continuer à chercher et je suis tombé sur StringTokenizer. J'ai donc créé un nouveau StringTokenizer comme ceci :
mais ensuite? j'ai essayé de l'afficher via un System.print.out sa passe pas ( me renvoie n'importe quoi). Idem avec un toString.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 StringTokenizer stringtoken = new StringTokenizer(datecomptenoslash, "_");
Enfaite, il créé un tableau de String si j'ai bien compris? Du coup, je devrais pouvoir y accédez comme ceci : stringtoken[0]] non?!
Il aime pas.
Je sais pas si le StringTokenizer est la seule solution concernant mon problème et c'est pour cela que je fais appel a vous!
Merci de votre aide. Je dois pas être bien loin de la solution quand même!!
Partager