我如何检查,扫描仪收到的数字在Java中肯定是整数?

问题描述

我有一个必须获取整数作为输入的方法。我怎样才能确定它肯定是整数。如果输入是字符串,请再次获取数字。

public int getMobileNumber() {
    System.out.println("Enter Mobile Number: ");
    int mobileNumber = input.nextLong();
    System.out.println("Mobile Number Registered!");
    return mobileNumber;
}

解决方法

您可以使用hasNextInt方法和while循环来获取绝对的整数:

Scanner sc = new Scanner(System.in);
System.out.println("Please enter a number:");

while (!sc.hasNextInt()) {
    System.out.printf("Your input was \"%s\". Please enter a number:%n",sc.next());
}

int num = sc.nextInt();
System.out.println(num);

sc.close();