Scanner 类
java.util.Scanner 是 Java5 的新特征,可以通过Scanner 类来获取控制台的输入。当通过 new Scanner(System.in) 创建一个 Scanner,控制台会一直等待输入,直到敲回车键结束,把所有输入的内容传给 Scanner, 作为扫描对象。Scanner 的构造器支持多种方式,可以从字符串(Readable)、输入流、文件等等来直接构造 Scanner 对象,有了 Scanner,就可以逐段(根据正则分隔式)来扫描整个文本,并对扫描后的结果做想要的处理。创建Scanner对象的基本语法:
Scanner scan = new Scanner(System.in);
Scanner 类几种常用方法
1. delimiter() 和 useDelimiter()
Scanner 默认使用空格作为分隔符来分隔文本,但允许你指定新的分隔符
delimiter()
返回此 Scanner 当前正在用于匹配分隔符的Pattern。
useDelimiter("")
在引号中指定新的分隔符
2. hasNext() 和 hasNextLine()
hasNext()
判断扫描器中当前扫描位置后是否还存在下一段。
hasNextLine()
如果在此扫描器的输入中存在另一行,则返回true。
3.next() 和 nextLine()
next()
查找并返回来自此扫描器的下一个完整标记。
一定要读取到有效字符后才可以结束输入。
对输入的有效字符之前遇到的空白,next()方法会自动将其去掉。
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next() 不能得到带有空格的字符串。
nextLine()
此扫描器执行当前行,并返回跳过的输入信息。
以enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
可以获得空白。
4.nextInt()、nextFloat() 、nextDouble() 和 hasNextXxx()
读取整数和浮点数和检验。