Java Data Type How to - Read a Valid Integer from Console








Question

We would like to know how to read a Valid Integer from Console.

Answer

/*www.j  a v a  2s  . c  o  m*/
import java.util.InputMismatchException;
import java.util.Scanner;

public class Main {
  static Scanner sc = new Scanner(System.in);

  public static void main(String[] args) {
    System.out.print("Enter an integer: ");
    int i = GetInteger();
    System.out.println("You entered " + i);
  }

  public static int GetInteger() {
    while (true) {
      try {
        return sc.nextInt();
      } catch (InputMismatchException e) {
        sc.next();
        System.out.print("That's not " + "an integer. Try again: ");
      }
    }
  }
}

The code above generates the following result.