Scanner中nextInt()和nextLine()方法解析
直接上代码
输出结果
结果分析
nextInt()和nextLine()顺序互换代码如下
输出结果
结果分析
解决方法
- 可以将nextLine()用next()替换
- . 两者nextLine()执行之前再加一个空nextLine()让这个空的清楚掉回车符再向下执行
- . nextInt()用nextLine()替换,最后进行类型转换
API截图如下
总结:
-
第一张api截图中我们发现除了nextLine()之外,剩余方法没有什么区别,因此我们可以总结出它们和nextInt()一样,读取只读取回车符以前的内容,返回时会留下回车符其余内容清空,而nextLine()是读取所有返还回车符以前内容并清空所有;
-
第二张api截图netx()其实和nextInt()读取方式一样,也会读取回车符以前留下回车符,但有一点区别的是,它读取时后若队列中已有回车符,它就只读两个回车符中间的内容。如下图