<获取合法输入的整形数>的函数,考虑了非法情况,项目中多次使用获取用户选项(整数)
public static int getIntOfRange(int lo, int hi) {
Scanner scanner = new Scanner(System.in);
int num;
String invaildInput;
while (true) {
try {
num = scanner.nextInt();
if (num < lo || num > hi) {
// 输入为整形,但不在范围内
System.out.println("请输入" + lo + "~" + hi + "的数字.");
} else {
// 输入合法整数
break;
}
} catch (Exception e) {
// 输入为非整数
System.out.println("请输入" + lo + "~" + hi + "的数字.");
invaildInput = scanner.next();// 取出缓冲区的无效字符串,等待下次int输入
}
}
return num;
}