Java:chaine de caractères contenant un entier

Fermé
birdsfly Messages postés 240 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 11 octobre 2013 - 1 nov. 2010 à 22:28
 Utilisateur anonyme - 2 nov. 2010 à 07:59
Bonjour,

pour vérifier si une partie d'une chaine de caractères en java est dans l'intervalle [1,31] j'ai utilisé cela:

if ((Integer.parseInt(d)<1) || (Integer.parseInt(d)>31)) { System.out.println("erreur");}

==> quand je met par exemple d="50" ça m'affiche "erreur"
mais quand je met d="ag" ça me donne une exception

Exception in thread "main" java.lang.NumberFormatException: For input string: "ag"
at java.lang.NumberFormatException.forInputString(Unknown Source)

Alors est ce que quelqu'un a une autre moyenne pour tester si le contenu de la chaine est un ENTIER entre 1 et 31??
Merci d'avance



A voir également:

1 réponse

Salut,

Donc quand String d = "50" le message "erreur" est normal puisque hors limites 1 à 31.

Mais quand d = "ag" tu veux convertir la chaîne de caractères "ag" en int et java n'est pas content.

As-tu bien compris le message d'erreur (l'exception) dans lequel tout est dit ?

Conclusion:
-Ton test est correct, il reste à gérer cette exception...

Cordialement,

Dan
0