30s了解一个知识点之Scanner(next和nextLine区别,什么时候会出现吞回车,及解决方法)

  1. next() 与 nextLine() 区别
    next():
    1)一定要读取到有效字符后才可以结束输入。以空格、回车、Tab键都会视为结束符。。
    2)对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
    3)只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
    next() 不能得到带有空格的字符串。
    nextLine():
    1)以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
    2)可以获得空白。

**注意:**建议能不使用就尽量不要使用nextLine()。尽量使用next。因为可能会出现吃回车现象。

  1. 那么时候时候会吃回车?
    就是在nextLine()方法之前,使用了next()方法

  2. 如何解决?

1)重新创建一个scanner对象,不要使用同一个对象接收.
2)next()方法代替
3)加一个额外的nextLine()。

.

发布了219 篇原创文章 · 获赞 352 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/qq_42859864/article/details/103764399