nextInt()和nextLine()一起使用时的注意点
问题原因:
nextLine()会把nextInt(),next(),nextDouble(),nextFloat()的结束换行符作为字符串读入,进而不需要从键盘输入字符串nextLine便已经转向了下一条语句执行。
解决办法:
在每一个nextInt(),next(),nextDouble(),nextFloat()后都加一个nextLine()语句,将它们的结束换行符过滤。
例子:
你看上面的代码有问题吗?我最初的回答也是:没有
但是:
原因:
nextInt()根据分隔符(回车,空格等)只取出输入的流中分割的第一部分并解析成Int,然后把后面的字节传递下去。
nextInt读出了“3”,并留下了“回车”,接着**netxLine()**读到了一个“回车”
解决:
在后面加一个nextLine()就好啦