Como verificar se uma variável do tipo Int recebeu um valor String invés de um inteiro

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