next()
- 读到有效字符时才能结束输入;
- 读到有效字符前的空格会自动去掉;
- 读到有效字符后,其后面输入的空格会作为结束符
因此,next()不要用于带有空格的字符串
nextLine()
Enter回车键作为结束符,故可以用于接受带有空格的字符串
hasnext()
hasnext()会扫描缓冲区中是否有字符,扫描为空时,并不会返回false,而是将方法阻塞,直到你输入内容
// 连续接收用户输入内容时,最好加入一个判断,当输入内容为#时结束输入
while(scanner.hasnext()){
if(scanner.next()=="#") break;
}
//或者这样写
while(!scanner.hasnext("#")){
// 匹配到#为true,然后取非为false
}