首页 > 编程语言 > 详细

Java中Scanner类在nextInt()后无法输入nextLine()的问题 输入nextLine()为空的问题

时间:2021-06-11 16:44:01      阅读:25      评论:0      收藏:0      [点我收藏+]

nextInt()方法在扫描到空白符的时候会将前面的数据读取走,但会丢下空白符“\r”在缓冲区中,但是,nextLine()方法在扫描的时候会将扫描到的空白符一同清理掉。

了解了这两个方法特性和区别,就知道了上边的代码究竟是怎么回事,以及知道了解决的方法。像是上边的代码nextInt()方法之后在缓冲区中留下了“\r”,然后nextLine()方法再去缓冲区找数据的时候首先看到了“\r”,然后就把这个“\r”扫描接收进来,并在缓冲区内清除掉。其实,nextLine()方法是执行过的,并没有不执行。

解决方法:

  nextInt() 替换为  Integer.parseInt(sc.nextLine())

Java中Scanner类在nextInt()后无法输入nextLine()的问题 输入nextLine()为空的问题

原文:https://www.cnblogs.com/xuran1216/p/14875064.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!