Verifique se a entrada é inteira em Java
-
Verifique se a entrada é inteira usando o método
hasNextInt
em Java -
Verifique se o número é inteiro usando o bloco
try...catch
O problema afirma que precisamos verificar se a entrada obtida na linguagem Java é um número inteiro.
Verifique se a entrada é inteira usando o método hasNextInt
em Java
O System
é uma classe que possui métodos e campos estáticos. Nunca podemos instanciar o objeto disso. O objeto in
é o fluxo de entrada padrão. Este fluxo já está aberto e pronto para fornecer dados de entrada.
O hasNextMethod
está presente na classe Scanner
e retorna verdadeiro se o próximo token nesta entrada do scanner puder ser avaliado como um valor int
. O método lança IllegalStateException
se o objeto do scanner for fechado.
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");
}
}
}
Na primeira linha, a entrada é obtida do usuário usando a entrada do console. Como o texto inserido é um número, o número é um inteiro que é impresso.
Enter the number: 1
The number is an integer
Como o texto inserido não é um número, a instrução da condição else é impressa.
Enter the number: Hi
The number is not an integer
Verifique se o número é inteiro usando o bloco try...catch
No bloco de código a seguir, usamos a classe Scanner para obter a entrada do usuário do console. A classe Scanner
possui o método next
. Ele lança NoSuchElementException
se não houver mais tokens disponíveis e IllegalStateException
se este scanner estiver fechado.
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 ");
}
}
O código acima mostrará a instrução no bloco try se o número for um inteiro. E executará a instrução presente no bloco catch se o método lançar uma Exception
dele e lançar NumberFormatException
se não for capaz de converter uma string para um dos tipos numéricos.
A saída do código acima é semelhante à do primeiro exemplo de código fornecido acima.
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