一文搞懂next 、hasNext,nextLine、hasNextLine
在Java中,HasNext
和Next
是Scanner
类的两个方法,它们用于读取用户输入。
HasNext
方法会检查用户是否在当前行输入了一个值,如果有,它会返回true,否则返回false。Next
方法会读取用户在当前行输入的值,并将其作为方法的返回值。
HasNextLine
和NextLine
也是Scanner
类的方法,它们与HasNext
和Next
类似,但是它们读取的是用户输入的整行文本,而不是单个值。
举个例子,假设用户输入了以下内容:
Hello
World
如果我们使用Next
方法读取用户的输入,那么第一次调用Next
方法时,它会返回字符串“Hello”,第二次调用时会返回字符串“World”,因为这两个字符串都在同一行中。
如果我们使用NextLine
方法读取用户输入,那么第一次调用NextLine
方法时,它会返回整行文本“Hello\nWorld”,因为这两个字符串都在两行中。
总之,HasNext
/Next
和HasNextLine
/NextLine
方法之间的区别在于它们读取的是单个值还是整行文本。
总结:
hasNext() 是检测 还有没有下一个输入
next()是指针移动到当前下标,并取出下一个输入
nextLine() 把指针移动到下一行 让然后取出当前这一行的输入
hasNextLine() 是检测下一行有没有输入
next():
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4、next() 不能得到带有空格的字符串。
NextLine():
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。