java中scanner.nextint和nextline的问题

来源:互联网 发布:华为大数据解决方案 编辑:程序博客网 时间:2024/05/19 12:12

问题:在用Scanner的时候,如果上一次用的是nextInt(),如果接着用nextLine()时,nextLine()直接跳过!!!

原因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()调用,以去除行的结束符。
希望我的回答可以帮助你的理解

1 0