社区
Java SE
帖子详情
Scanner 中关于 nextInt()与nextLine()的问题
hqch1314
2009-05-31 09:52:15
我最近我遇到一个问题:在用Scanner的时候,如果上一次用的是nextInt(),如果接着用nextLine()时,nextLine()直接跳过!!!为什么??
为什么只是nextLine()会出现这种情况,而其他的,如nextFloat()就不会出现,这是怎么回事??
...全文
2360
9
打赏
收藏
Scanner 中关于 nextInt()与nextLine()的问题
我最近我遇到一个问题:在用Scanner的时候,如果上一次用的是nextInt(),如果接着用nextLine()时,nextLine()直接跳过!!!为什么?? 为什么只是nextLine()会出现这种情况,而其他的,如nextFloat()就不会出现,这是怎么回事??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
随遇而安zx
2012-07-02
打赏
举报
回复
厉害!!!长知识了!!!
young0098
2009-06-01
打赏
举报
回复
长知识
zhuwen9
2009-05-31
打赏
举报
回复
学习了
sachmx1234
2009-05-31
打赏
举报
回复
学习
CJljfn
2009-05-31
打赏
举报
回复
原来如此
weiluo12
2009-05-31
打赏
举报
回复
API上的解释
nextLine
public String nextLine()
此扫描器执行当前行,并返回跳过的输入信息。
此方法返回当前行的其余部分,不包括结尾处的行分隔符。当前位置移至下一行的行首。
你使用nextInt()的时候,读取一定是数值型的字符,就是说你会输入42这样的,然后就按换行符
接着使用nextLine(),它是读到行分隔符就结束,而行分隔符前已经没信息,所以没有读到任何可返回的信息。
hey_bluebird
2009-05-31
打赏
举报
回复
顶。。
hqch1314
2009-05-31
打赏
举报
回复
哦!!长知识了!!谢了啊!!!
dajiadebeibei9
2009-05-31
打赏
举报
回复
nextInt() 接收一个整型字符,nextline()读入一行文本,会读入"\n"字符,但"\n"并不会成为返回的字符
串值的一部分
加入如下代码
int n = ScannerObjext.nextInt()
String s1 = ScannerObjext.nextLine();
String s2 = ScannerObjext.nextLine();
假设输入:
42
and don't you
forget it
在这种情况下,n的值为42,s1设置为空白字符,s2设置为and don't you
因为nextInt()读入42,但并没有读入"\n",因此S1调用42所在行的剩余部分
结合不同的方法从键盘读取字符输入时,有时不得不包含一条额外的nextLine()调用,以去除行的结束符。
希望我的回答可以帮助你的理解
Scanner
类的
中
的微妙关系
通过对
Scanner
类
中
next(),next
Int
(),next
Line
()方法的分析,可以帮助我们解决一些常见的控制台输入
问题
Java
Scanner
类用法及next
Line
()产生的换行符
问题
实例分析
主要介绍了Java
Scanner
类用法及next
Line
()产生的换行符
问题
,结合实例形式分析了
Scanner
类功能、hasNext
Int
()和next
Int
()方法使用及next
Line
()产生的换行符
问题
解决方法,需要的朋友可以参考下
Java输入语句
Scanner
Java
中
的
Scanner
类是一个简单的文本扫描器,它可以从输入流
中
解析基本类型和字符串。要使用
Scanner
类,首先需要导入java.util包,然后创建一个
Scanner
对象,将System.in作为参数传递给
Scanner
的构造函数。接下来,可以使用
Scanner
类的各种方法来读取不同类型的数据,如next
Int
()、next
Line
()等。
java
中
scanner
.next
int
和next
line
的
问题
问题
:在用
Scanner
的时候,如果上一次用的是next
Int
(),如果接着用next
Line
()时,next
Line
()直接跳过!!!
Scanner
中
的next
Int
和next
Line
的区别
1、next
Int
默认读取数值,但是换行符\n并没有读取,并且此时光标在\n前 2、如果此时在使用next
Line
你会发现什么都没输入,但已经结束,原因是上述的next
Int
中
\n未读取,调用next
Line
时会将这个\n直接读取 一个小坑,大家注意了,搞了我半天=。= ...
Java SE
62,636
社区成员
307,271
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章