[java] testez le type d'un entrée
Bonjour,
je souhaite, en java, tester le fait que lorsque je demande un entier (int), si l'utilisateur rentre bien un int et pas un string etc ...
merci !
je souhaite, en java, tester le fait que lorsque je demande un entier (int), si l'utilisateur rentre bien un int et pas un string etc ...
merci !
Configuration: Windows 2000 Firefox 2.0.0.14
3 réponses
-
Salut,
Tu fais la saisie dans un String. Par exemple String entree.
try
{
int mon_int Integer.parseInt(entree);
}
catch(NumberFormatException nfe)
{
// Ton_message d'erreur En principe on retourne la valeur mimi d'un int (Integer.MIN_VALUE;)
}
.......
Tu auras cette exception si ce n'est pas un entier, si ce n'est pas numérique, si la valeur dépasse les valeurs minimales et maximales d'un int.
Cordialement,
Dan -
ModérateurSi tu utilises une classe comme Scanner pour faire un nextInt, celle-ci te renverra une exception InputMismatchException si ce n'est pas un entier. Tu dois aussi pouvoir tester cela avant avec hasNextInt :
public static void main(String...args) { Scanner sc = new Scanner(System.in); System.out.print("Entrez un entier : "); int n; if (sc.hasNextInt()) { n = sc.nextInt(); System.out.println("L'entier est "+n); } else { System.out.println("Ce n'est pas un entier !"); } }La confiance n'exclut pas le contrôle -
ModérateurBonjour ...
tu penses que depuis 2008, il cherche encore ??? lol