[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. 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
    1. 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. 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 ...