[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 !
Configuration: Windows 2000
Firefox 2.0.0.14

3 réponses

  1. Modérateur
    Bonjour ...

    tu penses que depuis 2008, il cherche encore ??? lol
    1. Modérateur
      lol, je sais pas comment j'ai fait pour tomber dessus sur cette discussion alors... elle est peut-être remontée toute seule ^^
    2. Modérateur
      il est bizarre ce forum parfois ...
  2. Modérateur
    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
    1. 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