java如果下一个标记与任何指定字符串都不匹配,如何抛出InputMismatchException?
我知道Scanner.next("A")
将返回字符串“A”,如果下一个标记匹配“A”,否则它将抛出和InputMismatchException
。但是我的代码需要这样,如果它无法从一组字符串中找到任何匹配项,它将抛出InputMismatchException
。例如,如果“A”、“B”或“C”都不是下一个标记,我希望抛出InputMismatchException
你可以在下面搜索框中键入要查询的问题!
我知道Scanner.next("A")
将返回字符串“A”,如果下一个标记匹配“A”,否则它将抛出和InputMismatchException
。但是我的代码需要这样,如果它无法从一组字符串中找到任何匹配项,它将抛出InputMismatchException
。例如,如果“A”、“B”或“C”都不是下一个标记,我希望抛出InputMismatchException
# 1 楼答案
可以将Scanner.next(Pattern)与regexp模式一起使用:
甚至
因为,根据Javadoc,Scanner.next(String)
您甚至不必担心带有
next(String)
的版本每次都会构建一个模式对象,因为实现维护模式对象的缓存编辑:如果要匹配的字符串不是单个字符,则正则表达式模式会有所不同: