JAVA-Details02

本文章仅用于记录学习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();

上一篇:centos 8 chown命令详解


下一篇:Java学习第六天<用户交互Scanner与进阶使用><顺序结构><选择结构><循环结构1>