Bonjour,
ce code test si 'age' est un entier positif mais "matches("^\\s*\\d+\\s*$")" est une methode javascript.
Je cherche l'équivalent pour les types String java
merci.
if (!age.matches("^\\s*\\d+\\s*$"))
merci!
Bonjour,
ce code test si 'age' est un entier positif mais "matches("^\\s*\\d+\\s*$")" est une methode javascript.
Je cherche l'équivalent pour les types String java
merci.
if (!age.matches("^\\s*\\d+\\s*$"))
merci!
Salut,
tu veux savoir si une chaine contient un entier positif ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 try { monInt = Integer.parseInt(maChaine); // ici la chaine contien un entier donc : if(monInt >= 0) { // maChaine contient bien un entier positif } } catch (NumberFormatException ex){ // si tu es ici, ta chaine ne contient pas un entier }
Je comprends pas bien..
Tu veux savoir si les données rentrées sont positives?
Tu peux utiliser la classe StringTokenizer (voir ici )
Elle te permet de déterminer un délimiteur et de ressortir tes données... T'as plus qu'à les tester ensuite..
J'espère que ca peut t'aider
Ben depuis la version 1.4 de Java il faut faire :
Ce que tu viens d'ecrire en fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (!age.matches("^\\s*\\d+\\s*$"))
que pense tu de çà ?
ensuite tu n'as plus qu'à tester sa supériorité à 0 si tu obtiens un entier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part monEntier = Integer.parseInt(maString) <-- il faut gérer le ParseException
j'ai JDK 1.5 mais if (!age.matches("^\\s*\\d+\\s*$")) ne fonctionne pas
Cela ne compile pas ou cela ne marche pas a l'execution ? A premiere vue je ne vois aucun probleme mais je n'ai pas utilise les regex du JDK depuis un moment. Verifie la syntaxe avec la doc des classes Pattern et Matcher.
Ceci devrait surement aller ; ou Sinon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 final Pattern patter = Pattern.compile("^\\s*\\d+\\s*$"); Matcher mat = pattern.matcher(age.toString()); if (!mat.matches()) { // c'est OK } else { // Erreur , entier non positif }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 try { int i = Integer.parseInt(age.toString()) ; if ( i <= 0 ) { // entier pas positif } } ( catch Exception e) { // pas entier }
euh moi je fais tout connement :
pas besoin d'exceptions ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if(chaine.matches("[0-9]+")){ // C'est un entier positif int entier=Integer.parseInt(chaine); }else{ // Ce n'est pas un entier positif }
Skero > Ouai ça peut le faire aussi mais il me semble que ça ne gère l'élimination des caractères blancs en début et fin de chaine tel que "^\\s*\\d+\\s*$"
Et je viens de tester : si on ajouter des caractères blancs ( espace pour mon exemple ), on se prend un NumberFormatException.
Partager