在 Java 中检查 Scanner 数字输入边界
在许多情况下,如果你想创建交互式命令行界面,你需要检查用户输入的数字是否有效 - 如果无效 - 你想让用户重新输入。
这是一个简单的静态方法,用于检查用户输入的数字是否在给定边界内:
guardedInput.java
/**
* 让用户输入整数值直到满足给定
* 条件
*
* @param msg 向用户询问值的提示。
* @param lower 下边界,包含
* @param upper 上边界,包含
*/
private static int guardedInput(String msg, int lower, int upper) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print(msg);
int val = -1;
try {
val = scanner.nextInt();
} catch (InputMismatchException ex) {
System.out.println("非法值:请输入数字!");
}
if (val < lower) {
System.out.println("非法值:必须大于 " + (lower - 1));
} else if (val > upper) {
System.out.println("非法值:必须小于 " + (upper + 1));
} else {
return val;
}
}
}Check out similar posts by category:
Java
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow