0
点赞
收藏
分享

微信扫一扫

Scanner的nextLine()方法读不到数据的小坑

小桥流水2016 2022-03-14 阅读 79

项目场景:

使用Scanner的nextLine()方法获取数据的时候出现了问题,一般发生在和next(),nextInt()等类似方法混用的时候


问题描述

例如:以下这段代码,本意应该是在控制台输入两行数据,输入一行立刻输出一行。

Scanner in = new Scanner(System.in);
String s1=in.next();
System.out.println(s1);
String s2=in.nextLine();
System.out.println(s2+"==");

实际上输出的结果

可以看到我明明只输入了一行代码却执行完了


原因分析:

输入完按下回车时,next()或者nextInt()会读取有效数据并把光标停在回车之前,这样nextLine()会读到上一行代码遗留的那个回车键然后直接输出,从而产生以上问题


解决方案:

举报

相关推荐

0 条评论