Bonjour,
je suis opposé à un petit problème en java: Je voudrais tester si une chaine de caractères est un entier. Il existe bien par exemple isNaN en javascript ou encore isdigitt en C, mais existe-t-il une fonction similaire en Java ?? J'ai beau chercher sur le forum ou encore sur la doc api mais je ne trouve pas...

N'existe-t-il pas tout simplement une méthode qui renvoie un booleen, dans le genre :
int i = 0;
if( Integer.isInt(maVariable) ){
i = Integer.parseInt(maVariable);
}
else System.out.println("Je ne suis pas un entier, et alors ca te derange ?");
class Entier {
public static boolean isInt(String chaine){
boolean valeur = true;
char[] tab = chaine.toCharArray();
for(char carac : tab){
if(!Character.isDigit(carac) && valeur){ valeur = false; }
}
return valeur;
}
}
Testez :
String s1 = "1t2o1t2o"; // testez avec 1212 aussi pour voir la différence.
if(Entier.isInt(s1)) System.out.println("Je suis un entier");
else System.out.println("Je ne suis pas un entier");
Si vous trouvez mieux, n'hésitez pas à poster votre solution.
Et au cas où si un employé d'Oracle passe par ici, qu'il n'hésite pas à avoir une promotion avec cette nouvelle méthode révolutionnaire.
char [] s =cc.toCharArray();
boolean testerreurfrappe= true;
for (int i=0; i<s.length;i++){
if(!Character.isDigit(s[i]) )
{testerreurfrappe= false;}
}
return testerreurfrappe;
}
apres faut juste si testerreur == true alors on utilise persInt si nn on indique qu'il y'a une erreur de frappe :)