时间:2023-01-13 20:20
Scanner类作用
除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。Scanner与BufferedReader相比,操作更加简单,冰洁操作更为直观,也是我们一般采用的方式,
注意,如果现在是输入的是字符串,是否存在hasNext()方法意义不大,但是其它数据类型就不一样了。
Scanner的用法
主要用于算法笔试时的控制台输入:
1 问题:解决这种情况下的Scanner输入:单行,多行,数值,字符串
2 最好解决的情况
3 单行输入多个参数
4 多行输入多个参数,每行参数个数不定
nextInt()、next()和nextLine()的理解
nextInt(): it only reads the int value, nextInt() places the cursor(光标) in the same line after reading the input.(nextInt()只读取数值,剩下"\n"还没有读取,并将cursor放在本行中)
next(): read the input only till the space. It can’t read two words separated by space. Also, next() places the cursor in the same line after reading the input.(next()只读空格之前的数据,并且cursor指向本行)
next() 方法遇见第一个有效字符(非空格,非换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的不含空格、换行符的单个字符串。
nextLine()时,则可以扫描到一行内容并作为一个字符串而被获取到。