Boas, colegas! Gostaria de saber se é possível verificar se uma variável do tipo int recebeu um valor String antes de disparar a exceção java.util.InputMismatchException
? Sabendo que ela terá que dar continuidade ao programa após ter efeito o teste a variável. Tentei usar o try catch mas não deu certo tive que trocar o tipo de variável de int para string.
Obrigado
Vc poderia usar try/catch
junto com um loop infinito, veja:
import java.util.Scanner;
public class App {
private static final Scanner scan = new Scanner(System.in);
private static int getInt() {
while (true) {
System.out.print("Digite um número inteiro: ");
try {
return Integer.parseInt(scan.nextLine());
} catch (NumberFormatException e) {
System.out.println("Tem que ser número inteiro!!! 😡");
}
}
}
public static void main(String... args) {
System.out.println("Você digitou: " + getInt());
}
}
1 curtida