Scanner是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。Scanner使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的next 方法将得到的标记转换为不同类型的值
Scanner中提供了多个构造器可用于实例化,以下是Scanner中一些常用构造器示例,代码如图
在查找标记前,可以使用hasNext()方法来判断是否存在下一个标记,避免报错
当需要返回一行数据时,也可以使用hasNextLine()方法来判断是否存在下一行
在需要时也可通过其他hasNext方法对下一个标记的类型进行判断,避免出现类型冲突,方法代码如下
Scanner将数据分解为标记后,可以通过next()方法来查找并返回下一个标记。查找时判断是否为有效字符。遇到有效地字符输入前,自动屏蔽掉输入的分隔符。直到遇到有效地字符输入后,将分隔符作为结束标志。如果没有标记可用将报NoSuchElementException错误。查找结束后光标下移至下一个需要读取的标记开头
也可以使用nextLine()方法对一行进行读取。nextLine读取从开始输入后的所有字符,以Enter作为结束标志,如果没有找到这样的行将会报NoSuchElementException错误。读取完成后光标下移至下一行行首
也可以使用其他不同的next 方法将得到的标记转换为不同类型的值,如果类型不对应将报InputMismatchException错误
toSting(),返回此Scanner的字符串表现形式
reset(),重置此Scanner
close(),关闭此Scanner