1. nextInt()与nextLine()
参考文章:几句话直观理解java中Scanner类的next()、nextLine()、nextInt()
(1)Scanner是一个扫描器,对于键盘输入或者文件中的数据,先存到缓存区等待读取,它判断读取结束的标示是:空格,回车,tab 等;
(2)next()和nextInt()方法读取到任意间隔符(如空格和回车)就结束,nextLine()读取到回车结束也就是“\r”,next()返回值为String类型,nextLine()返回值为String类型,nextInt()返回值为Int类型。
注意:nextInt()和nextLine()连用时出现的问题
在使用Java中的Scanner类时,如果在读取输入时同时使用nextlnt 和nextLine)方法,需要注意一个问题,因为nextint()方法只会读取输入中的整数部分,而不会读取换行符,所以在接下来使用nextLine)方法时,会读取到上一个输入中的换行符,导致输入不符合预期。为了解决这个问题,可以在使用nextlnt0方法后,使用一个额外的nextLine()方法来读取换行符,然后再进行下一次输入的读取。
解决办法
使用nextLine()清除一下缓存区例:
Scanner scanner = new Scanner(System.in);
int num = scanner.nextlnt);
// 读取换行
scanner.nextLinel);
String str = scanner.nextLine();
System.out,println(“输入的整数为:”+ num);
System.out.println(“输入的字符串为:”+ str);
标签:总结,nextLine,读取,输入输出,问题,nextInt,scanner,输入,Scanner From: https://www.cnblogs.com/AvavaAva/p/18068783