问题描述
我有一个必须获取整数作为输入的方法。我怎样才能确定它肯定是整数。如果输入是字符串,请再次获取数字。
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();