Compruebe si la entrada es un número entero en Java

Rashmi Patidar 12 octubre 2023
  1. Compruebe si la entrada es un número entero utilizando el método hasNextInt en Java
  2. Compruebe si el número es entero utilizando el bloque try...catch
Compruebe si la entrada es un número entero en Java

El problema establece que debemos verificar si la entrada tomada en el lenguaje Java es un número entero.

Compruebe si la entrada es un número entero utilizando el método hasNextInt en Java

El System es una clase que tiene métodos y campos estáticos. Nunca podremos instanciar el objeto de la misma. El objeto in es el flujo de entrada estándar. Esta secuencia ya está abierta y lista para proporcionar datos de entrada.

El hasNextMethod está presente en la clase Scanner y devuelve verdadero si el siguiente token en esta entrada del escáner puede evaluarse como un valor int. El método arroja IllegalStateException si el objeto del escáner está cerrado.

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");
    }
  }
}

En la primera línea, la entrada se toma del usuario mediante la entrada de la consola. Como el texto ingresado es un número, el número es un entero que se imprime.

Enter the number: 1
The number is an integer

Como el texto ingresado no es un número, se imprime la declaración de la condición else.

Enter the number: Hi
The number is not an integer

Compruebe si el número es entero utilizando el bloque try...catch

En el bloque de código a continuación, usamos la clase Scanner para tomar la entrada del usuario desde la consola. La clase Scanner tiene el método next. Lanza NoSuchElementException si no hay más tokens disponibles y IllegalStateException si este analizador está cerrado.

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 ");
    }
  }

El código anterior mostrará la declaración en el bloque try si el número es un entero. Y ejecutará la declaración presente en el bloque catch si el método arroja una Exception y arroja NumberFormatException si no puede convertir una cadena a uno de los tipos numéricos.

La salida del código anterior es similar a la del primer código de ejemplo dado anteriormente.

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

Artículo relacionado - Java Integer