Vérifiez si l'entrée est un entier en Java

Rashmi Patidar 12 octobre 2023
  1. Vérifier si l’entrée est un entier en utilisant la méthode hasNextInt en Java
  2. Vérifiez si le nombre est un entier à l’aide du bloc try...catch
Vérifiez si l'entrée est un entier en Java

Le problème indique que nous devons vérifier si l’entrée prise en langage Java est un entier.

Vérifier si l’entrée est un entier en utilisant la méthode hasNextInt en Java

Le System est une classe qui a des méthodes et des champs statiques. Nous ne pouvons jamais instancier l’objet de celui-ci. L’objet in est le flux d’entrée standard. Ce flux est déjà ouvert et prêt à fournir des données d’entrée.

Le hasNextMethod est présent dans la classe Scanner et renvoie true si le jeton suivant dans cette entrée du scanner peut être évalué comme une valeur int. La méthode lance IllegalStateException si l’objet scanner est fermé.

package checkInputIsInt;

import java.util.Scanner;

public class CheckIntegerInput {
  public static void main(String[] args) {
    System.out.print("Enter the number: ");
    Scanner scanner = new Scanner(System.in);
    if (scanner.hasNextInt()) {
      System.out.println("The number is an integer");
    } else {
      System.out.println("The number is not an integer");
    }
  }
}

Dans la première ligne, l’entrée est prise par l’utilisateur à l’aide de l’entrée de la console. Comme le texte saisi est un nombre, le nombre est un entier qui est imprimé.

Enter the number: 1
The number is an integer

Comme le texte entré n’est pas un nombre, l’instruction de condition else est imprimée.

Enter the number: Hi
The number is not an integer

Vérifiez si le nombre est un entier à l’aide du bloc try...catch

Dans le bloc de code ci-dessous, nous utilisons la classe Scanner pour prendre les entrées de l’utilisateur depuis la console. La classe Scanner a la méthode next. Il lance NoSuchElementException si plus aucun jeton n’est disponible et IllegalStateException si ce scanner est fermé.

public class CheckIntegerInput {
  public static void main(String[] args) {
    System.out.print("Enter the number : ");
    Scanner scanner = new Scanner(System.in);
    try {
      Integer.parseInt(scanner.next());
      System.out.println("The number is an integer");
    } catch (NumberFormatException ex) {
      System.out.println("The number is not an integer ");
    }
  }

Le code ci-dessus affichera l’instruction dans le bloc try si le nombre est un entier. Et il exécutera l’instruction présente dans le bloc catch si la méthode lève une Exception à partir de celui-ci et lance NumberFormatException si elle est incapable de convertir une chaîne en l’un des types numériques.

La sortie du code ci-dessus est similaire à celle du premier exemple de code ci-dessus.

Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Article connexe - Java Integer