java如何限制两位数
限制输入为两位数的Java方法
在Java中,可以通过多种方式限制输入为两位数(即10到99之间的整数)。以下是几种常见的方法:
使用条件判断
通过简单的条件判断确保数值在两位数范围内:
int number = 50; // 示例数值
if (number >= 10 && number <= 99) {
System.out.println("Valid two-digit number");
} else {
System.out.println("Invalid input");
}
使用正则表达式验证字符串输入
对于字符串输入,可以使用正则表达式进行验证:
String input = "75";
if (input.matches("\\d{2}")) {
System.out.println("Valid two-digit number");
} else {
System.out.println("Invalid input");
}
结合Scanner进行用户输入验证
在接收用户输入时,可以结合Scanner和循环确保输入合法:
Scanner scanner = new Scanner(System.in);
int number;
do {
System.out.print("Enter a two-digit number (10-99): ");
while (!scanner.hasNextInt()) {
System.out.print("Invalid input. Enter a number: ");
scanner.next();
}
number = scanner.nextInt();
} while (number < 10 || number > 99);
System.out.println("Valid input: " + number);
自定义异常处理
对于更复杂的应用,可以定义自定义异常:
class InvalidTwoDigitNumberException extends Exception {
public InvalidTwoDigitNumberException(String message) {
super(message);
}
}
void validateTwoDigitNumber(int num) throws InvalidTwoDigitNumberException {
if (num < 10 || num > 99) {
throw new InvalidTwoDigitNumberException("Number must be between 10 and 99");
}
}
使用Apache Commons Validator
如果项目中已包含Apache Commons Validator,可以利用其数字验证功能:

import org.apache.commons.validator.routines.IntegerValidator;
IntegerValidator validator = IntegerValidator.getInstance();
if (validator.isInRange(number, 10, 99)) {
System.out.println("Valid two-digit number");
}
这些方法可以根据具体应用场景选择使用。对于简单的验证,条件判断或正则表达式足够;对于用户输入,Scanner结合循环更合适;对于企业级应用,自定义异常或验证工具库更规范。






