最近做笔试算法题遇到的ACM模式,需要自己写读取输入,记录下
Java中Scanner类中的方法next()、nextInt()及nextLine()的区别:
next()
读取结果为String类型,返回String类型
。
结束标记
: 空格, tab键, 回车。nextInt()
取结果为一个int类型数据,返回int值
。
结束标记
: 空格, tab键, 回车。nextLine()
读取结果为String类型,返回String类型
。
结束标记
: 回车。
注意:nextInt()
后读取字符串建议使用next()
,不建议使用nextLine()
。
如果非要使用nextLine()
,要在中间加入一个nextLine()
,否则可能会读到一个空行。
原因是在使用了nextInt()
方法之后其末端输入的空格键、Tab键或Enter键等分隔符或结束符,仍在缓冲区内;若结束符刚好是Enter时,紧接着使用nextLine()
,则nextLine()
会自动读取Enter作为其结束符,读取到一个空行。