java.util.Scanner
是 Java 提供的一个用于扫描输入文本的实用工具类。它可以从各种输入源(如控制台、文件、字符串)读取数据,并且支持正则表达式进行模式匹配。
hasNext(Pattern pattern)
和 next(Pattern pattern)
方法,Scanner 可以使用正则表达式来匹配和读取输入数据。以下是一个使用 java.util.Scanner
和正则表达式来读取并解析整数列表的示例代码:
import java.util.Scanner;
import java.util.regex.Pattern;
public class ScannerExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Pattern pattern = Pattern.compile("\\d+"); // 正则表达式匹配一个或多个数字
System.out.println("请输入整数列表,以空格分隔:");
while (scanner.hasNext()) {
if (scanner.hasNext(pattern)) {
int number = scanner.nextInt();
System.out.println("读取到整数:" + number);
} else {
String nonIntegerInput = scanner.next();
System.out.println("非整数输入:" + nonIntegerInput);
}
}
scanner.close();
}
}
InputMismatchException
。解决方法是使用 hasNext(Pattern pattern)
方法先检查是否有匹配的输入,或者捕获并处理异常。close()
方法关闭它。BufferedReader
和正则表达式。在这种情况下,可以考虑使用更高效的输入读取方法。领取专属 10元无门槛券
手把手带您无忧上云