本文章仅用于记录学习Java时遇到的部分细节(02偏补充细节学习) - Felix
> nextLine连用的坑
- next
- nextInt
- nextDouble
- nextFloat
这些函数与nextLine连用都会有坑:next系列的函数返回了数据后,会把回车符留在缓冲区,因此我们下一次使用nextLine的时候就会碰到读取空字符串的情况
补充:next()读取过滤空格键 nextLine()会连空格键一起读取
解决方案:
- 都用nextLine,做格式转换
- 调用next系列函数后,中间调用一次nextLine去掉回车符后,再调用一次nextLine读取
//eg1 :
Scanner in = new Scanner(System.in);
int num = Integer.parseInt(in.nextLine()); //格式转换
String str = in.nextLine;
//eg2 :
Scanner in = new Scanner(System.in);
int num = in.nextInt();
in.nextLine();
String str = in.nextLine();