美文网首页
Java中nextInt()后,接nextLine() 会读到一

Java中nextInt()后,接nextLine() 会读到一

作者: mundane | 来源:发表于2022-03-27 22:02 被阅读0次

    https://blog.csdn.net/qq_21040559/article/details/119115428

    原因:

    原因是两个函数的处理机制不同。

    • nextInt()函数在缓冲区中遇到“空格”、“回车符”等空白字符时会将空白字符前的数据读取走,但空白字符不会被处理掉。
    • nextLine()函数是在缓冲区中读取一行数据,这行数据以“回车符”为结束标志,nextLine()会把包括回车符在内的数据提走。

    所以nextInt()后的nextLine()函数,因为nextInt()将“回车符”留在了缓冲区,nextLine()读取时遇到的第一个字符便是“回车符”,所以直接结束了。

    解决:

    1. 在要使用nextLine()前先调用一次nextLine()
    2. 或者都用nextLine(),再去转换格式

    相关文章

      网友评论

          本文标题:Java中nextInt()后,接nextLine() 会读到一

          本文链接:https://www.haomeiwen.com/subject/bmzjjrtx.html