如果你在使用nextLine()或者next()无法正确输入字符串,
或者输入了,但是没有显示字符串,那么很好你找对文章了!
看了这篇文章你讲直到这两个方法的运行逻辑,并知道自己的问题出在了哪里。
目录
1.next()
2.nextLine()
1.next()
next()是用来读单词的:
执行结果:
注意:
next()不会读取空格、回车等结束符号。
只要遇到结束符号(空格、回车、制表符),就会停止读入字符。
与此同时,输入流内残留的行结束符仍然存在!!!
行结束符仍然存在很关键使我们理解nextLine()有时无法正确读入字符串的关键!
2.nextLine()
nextLine()用来读取一行字符串:
执行结果:
值得注意的是,在使用nextLine()时,要留意代码前面是否使用过next()、nextInt()等同一类方法,如果使用了上述方法,将会导致这样的错误:
执行结果:
句子都还没有输入,程序就结束了,这是为什么?
原因就在于刚才强调的:
使用完next()会残留结束符,这个结束符一旦被后面程序的nextLine()识别到,就会直接结束!
解决办法:
很简单,把残留的结束符“吃掉”即可,有点像C语言中的“getchar()”。
不过JAVA用的是nextLine():
执行结果:
完