nextLine()和next()的区别:
- next方法像nextInt()、nextDouble()一样不能得到带空格的字符串(前后都没有):
对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方***自动将其去掉,即next不会读取有效字符之前的空格、回车等字符,但是输入有效字符后,next()方法会将其后输入的空格键、Tab键或Enter键等视为结束符。
并会把Enter去掉。
- 而nextLine会读取任意字符:
会读取空格、回车等字符,nextLine()方法的结束符只是Enter键。
当nextLine()前面有next()方法时,nextLine()会读取到被next()去掉的Enter而结束自己的读取
所以,不是next()特殊,而是nextLine()特殊。next()、nextInt()、nextDouble()都可以以空格、tab作为结束符,且在有效字符输入之前不会读取到空格、tab
/****************************/
慎用 x.nextLine()
/****************************/
输入字符串最好用 x.next()
/****************************/