Scanner类
2021年7月15日大约 1 分钟约 353 字
使用 Scanner 类可以获取用户的键盘输出,Scanner 是一个基于正则表达式的文本扫描器,它可以从文件、输入流、字符串中解析出基本类型值和字符串值。
构造方法:
Scanner(InputStream in):用给定的输入流创建一个Scanner对象。Scanner(Path p, String encoding):构造一个使用给定字符编码从给定路径读取数据的Scanner对象。Scanner(String data):构造一个从给定字符串读取数据的Scanner。
Scanner 主要提供了两个方法来扫描输入(其中Xxx可以是Int, Long等代表基本数据类型的字符串):
hasNextXxx():是否还有下一个Xxx类型的输入项;如果只是判断是否包含下一个字符串,则直接使用hasNext();nextXxx():获取下一个输入项。
默认情况下,Scanner 使用空白(包括空格、Tab空白、回车)作为多个输入项之间的分隔符。如果想改变 Scanner 的分隔符,可以使用相应 Scanner 对象的useDelimiter(String pattern)方法。
为了方便,Scanner 提供了两个简单的方法来逐行读取:
boolean hasNextLine():返回输入源中是否还有下一行;String nextLine():返回输入源中下一行的字符串。
如果一个 Scanner 要求输入一个 long 整数,而实际输入无法转换成 lon~g,会导致程序退出。
