您的位置 首页 java

Java初学过程中都会遇到的输入问题

相信很多Java初学者在用Scnnner的时候会因为nextInt(),next(),nextLine()等出现bug。

我们先来看一段代码:

输入输出结果:

本想输入三次,将第一个整数存在变量m,下一个字符串存在str1,下一行字符串存在str2;

然而从结果来看,似乎跳过了in.nextLine();无法达到预期效果。

再来看看下一个I/O例子:

容易看出,str2储存了“ rty”,原因便是in.next()只读取了空格之前的数据,之后的in.nextLine()读取了包括空格在内的之后一整行数据。

在in.next()之后添加一个in.nextLine()把’n’也读取就可以达到预期输入效果了。

三者同时使用的时候in.next()与in.nextInt()只会读取空格之前的数据,之后的会由in.nextLine()读取,根据需求,有时候可以都用in.nextLine(),之后再进行类型转换。或者搞清楚程序运行步骤,理清这几个输入之间的先后关系,在合适的位置添加一个in.nextLine()也可以解决问题。

文章来源:智云一二三科技

文章标题:Java初学过程中都会遇到的输入问题

文章地址:https://www.zhihuclub.com/174734.shtml

关于作者: 智云科技

热门文章

网站地图