📅  最后修改于: 2023-12-03 14:52:45.419000             🧑  作者: Mango
在Java中,我们可以使用正则表达式来限制输入的字符类型。下面的代码片段演示了如何只允许数字和空格的输入。
import java.util.Scanner;
public class InputValidationExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input;
do {
System.out.print("Please enter a string with only numbers and spaces: ");
input = scanner.nextLine();
} while (!isValid(input, "[\\d\\s]+"));
System.out.println("Input is valid!");
}
private static boolean isValid(String input, String regex) {
return input.matches(regex);
}
}
在这个例子中,我们使用Scanner类来获取用户输入。然后我们使用do-while循环来强制要求用户只输入数字和空格的字符串。该循环将一直运行,直到用户输入的字符串是有效的。
在isValid()方法中,我们使用Java的字符串.matches()方法来检查字符串是否与正则表达式匹配。正则表达式[\d\s]+只包含数字和空格。如果字符串与模式匹配,则返回true,否则返回false。
使用正则表达式是在Java中限制输入字符类型的一种简单方法。通过使用正则表达式,我们可以轻松地控制输入的内容类型,并确保输入的内容符合要求。