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

sim -  
choubaka Messages postés 5534 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 !
Configuration: Windows 2000
Firefox 2.0.0.14

3 réponses

  1. danimo
     
    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
  2. KX Messages postés 19031 Statut Modérateur 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
  3. choubaka Messages postés 5534 Date d'inscription   Statut Modérateur Dernière intervention   2 113
     
    Bonjour ...

    tu penses que depuis 2008, il cherche encore ??? lol
    0
    1. KX Messages postés 19031 Statut Modérateur 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
    2. choubaka Messages postés 5534 Date d'inscription   Statut Modérateur Dernière intervention   2 113
       
      il est bizarre ce forum parfois ...
      0