Compruebe si la entrada es un número entero en Java
-
Compruebe si la entrada es un número entero utilizando el método
hasNextInt
en Java -
Compruebe si el número es entero utilizando el bloque
try...catch
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 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