Verifier qu'un type char est un chiffe [JAVA]
saotan
Messages postés
1
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je suis en pleine révision de partiels et mon partiels de JAVA est demain, je sais, je suis mal barré ^^.
Cependant je suis sur un éxercices qui demande,d'entrer un n° de securité social a 13chiffres.
La question 1) Demande de vérifier si il y a 13 caractères
J'ai réussi avec un .length().
Mais en 2) On me demande de vérifier que tous les caracteres sont des chiffres.
J'ai crée une boucle for qui parcous le String, et qui avec un charAt(i) devrait vérifier si l'élément d'indice i est un chiffre ou pas.
J'avais essayé une petite astuce que j'avais trouvé sur ce forum, en créant une variable int k;
et un char c;
et ai fait: c=num.charAt(i); (num étant le numero de secu)
et k=c-'0';
et avec un if(k<0&&k>9)
renvoi une valeur dans un switch/case qui n'est pas important dans le probleme ^^.
En clair j'aimerais savoir comment vérifier que tous les caractères sont des chiffres :(.
Je voulais vous remettre un peu en contexte voila.
Merci d'avance :) !
je suis en pleine révision de partiels et mon partiels de JAVA est demain, je sais, je suis mal barré ^^.
Cependant je suis sur un éxercices qui demande,d'entrer un n° de securité social a 13chiffres.
La question 1) Demande de vérifier si il y a 13 caractères
J'ai réussi avec un .length().
Mais en 2) On me demande de vérifier que tous les caracteres sont des chiffres.
J'ai crée une boucle for qui parcous le String, et qui avec un charAt(i) devrait vérifier si l'élément d'indice i est un chiffre ou pas.
J'avais essayé une petite astuce que j'avais trouvé sur ce forum, en créant une variable int k;
et un char c;
et ai fait: c=num.charAt(i); (num étant le numero de secu)
et k=c-'0';
et avec un if(k<0&&k>9)
renvoi une valeur dans un switch/case qui n'est pas important dans le probleme ^^.
En clair j'aimerais savoir comment vérifier que tous les caractères sont des chiffres :(.
Je voulais vous remettre un peu en contexte voila.
Merci d'avance :) !
A voir également:
- Verifier qu'un type char est un chiffe [JAVA]
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Verifier compatibilite windows 11 - Guide
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
2 réponses
Salut,
je pense que tu peux faire:
Character.isDigit('ton_char');
dans une boucle....mais tout tester d'un coup, je pense pas..à part avec un try catch mais c'est pas beau.......
@+
je pense que tu peux faire:
Character.isDigit('ton_char');
dans une boucle....mais tout tester d'un coup, je pense pas..à part avec un try catch mais c'est pas beau.......
@+
Salut,
Je te donne quand même la solution "try/catch" (il y en a d'autres, exemple avec les expressions régulières...) :
Cordialement,
Dan
Je te donne quand même la solution "try/catch" (il y en a d'autres, exemple avec les expressions régulières...) :
//String numSecu = "1 90 03 44 102 012";
String numSecu = "9 99 99 99 999 999";
String numSecuSv = numSecu;
numSecuSv = numSecuSv.replaceAll(" ", ""); // pour conserver la source
System.out.println("\nnumSecuSv = " + numSecuSv);
if (numSecuSv.length() > 13)
{
System.out.println("Trop long!!!...");
return;
}
// Noter que le numéro de sécu ne peut etre converti en int
// (trop long pour le type int) nous utiliserons le type long
try
{
long numSs = Long.parseLong(numSecuSv);
}
catch(NumberFormatException nfe)
{
System.out.println("\nNon numerique!!!...)");
// En réalité NumberFormatException concerne la "numéricité"
// mais aussi la longueur du type utilisé, mais comme dans cet
// exemple il y a le filtre de la longueur (13) ce ne peut pas
// etre trop long pour le type long
return;
}
Cordialement,
Dan