java nextint后有空格,Java中nextInt()后接nextLine()读取不到数据
Java中nextInt()后接nextLine()读取不到数据
Java中nextInt()后接nextLine()读取不到数据
问题:
在使用Scanner对象的nextLine()函数读取输入的一行数据时,有时会出现读取不到数据的情况。如下图:
这是因为在调用nextLine()函数前调用了Scanner的另一个函数nextInt()(或是nextDouble())。出现这种情况的原因是两个函数的处理机制不同,nextInt()函数在缓冲区中遇到“空格”、“回车符”等空白字符时会将空白字符前的数据读取走,但空白字符不会被处理掉,而nextLine()函数是在缓冲区中读取一行数据,这行数据以“回车符”为结束标志,nextLine()会把包括回车符在内的数据提走。所以nextInt()后的nextLine()函数并非读取不到数据,因为nextInt()将“回车符”留在了缓冲区,nextLine()读取时遇到的第一个字符便是“回车符”,所以直接结束了。
解决方法:
1.在要使用nextLine()前先调用一次nextLine(),这样留在缓冲区的“回车符”就会被处理掉,这时第二个nextLine()函数可以正常读取到数据。
2.避免在nextLine()之前调用nextInt()等函数,可以统一使用nextLine()来读取数据,之后再进行类型转换。
Java中nextInt()后接nextLine()读取不到数据相关教程
java nextint后有空格,Java中nextInt()后接nextLine()读取不到数据相关推荐
- 【二叉树Java】二叉树遍历前序中序后序遍历的非递归写法
本文主要介绍二叉树前序中序后序遍历的非递归写法 在探讨如何写出二叉树的前序中序后序遍历代码之前,我们先来明确一个问题,前序中序后序遍历根据什么区分? 二叉树的前序中序后序遍历,是相较根节点说的.最先遍 ...
- java jax-rs_在Java EE 7和WildFly中使用Bean验证来验证JAX-RS资源数据
java jax-rs 我过去已经两次接触过这个主题. 首先,在我的文章< 在Java EE 6中将Bean验证与JAX-RS集成>中 ,描述了甚至在Java EE平台规范中尚未定义之前, ...
- 在Java EE 7和WildFly中使用Bean验证来验证JAX-RS资源数据
我过去已经两次接触过这个主题. 首先,在我的文章< 在Java EE 6中将Bean验证与JAX-RS集成>中 ,介绍了甚至在Java EE平台规范中未定义之前,如何在JBoss AS 7 ...
- java去掉前后空格_js中去除字符串前后空格
第一种:循环检查替换 [javascript] //供使用者调用 function trim(s){ return trimRight(trimLeft(s)); } //去掉左边的空白 functi ...
- (JAVA学习笔记) Scanner类中next方法和nextline方法的区别
next(): 1.一定要读取到有效字符后才可以结束输入. 2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉. 3.只有输入有效字符后才将其后面输入的空白作为分隔符或结束符. *4. ...
- anaconda在ubuntu中安装后没有_你的大数据平台中病毒了!!!记一次HDP安装后中dr.who病毒并修复的过程...
有些事还是经历过了才知道"小心驶得万年船"的道理啊.最近笔者帮一个客户安装HDP2.6.5版本的大数据平台,最重要的是,这次安装的背景是生产环境的云平台迁移,不是普通的开发阶段或者 ...
- java取出字符串中的后四位_[原]Java面试题-将字符串中数字提取出来排序后输出...
[Title][原]Java面试题-将字符串中数字提取出来排序后输出 [Date]2013-09-15 [Abstract]很简单的面试题,要求现场在纸上写出来. [Keywords]面试.Java. ...
- java(5)---Java基础知识大全
Java基础知识大全 一.基础知识: 1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平 ...
- Java基础17:Java IO流总结
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a724888/article/details/80201802 这位大侠,这是我的公众号:程序员江湖 ...
最新文章
- SAP PM 初级系列15 - IW33事务代码界面里查看维修工单对应的维修通知单的几个方法
- windows系统numpy的下载与安装教程
- 4月22日MySQL学习
- mysql 时间间隔分组_sql的两种以时间间隔分组的方法
- Spring Data ElasticSearch删除索引遇到的java.lang.IllegalStateException: Failed to load ApplicationContext异常
- 前端学习(2590):前端权限的菜单控制
- SQL Server 2005参考:PIVOT
- CSS一个元素同时使用多个类选择器(class selector)
- python中赋值运算符有哪些_Python代码中有哪些赋值运算符呢?
- Visual Studio Code C++配置文件
- 精通webpack的5大关键点
- iPhone 14或让果粉再度“梦碎”:屏幕指纹和120Hz高刷屏都没了
- HDU 6356.Glad You Came-线段树(区间更新+剪枝) (2018 Multi-University Training Contest 5 1007)...
- 牛客网练习赛26B(简单的dp)
- 【SQL】实验三 视图管理和使用
- 某车企笔试题解答(2)
- 21天学通Java学习笔记-Day03
- Elasticsearch 映射参数 fields
- bootstrap4 input-spinner数字增减框的使用
- Java怎么顺序 或 逆序排序数组