[java] testez le type d'un entrée

sim -  
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   -
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 !
A voir également:

3 réponses

Utilisateur anonyme
 
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
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Si 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
0
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
Bonjour ...

tu penses que depuis 2008, il cherche encore ??? lol
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
lol, je sais pas comment j'ai fait pour tomber dessus sur cette discussion alors... elle est peut-être remontée toute seule ^^
0
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
il est bizarre ce forum parfois ...
0