Java中Scanner类中的方法next()、nextInt()及nextLine()的区别:
next()读取结果为String类型,返回string类型.
nextInt()取结果为一个int类型数据,返回int值。
nextLine()读取结果为String类型,返回string类型。
next()不会读取字符前/后的空格/Tab键,只读取字符(忽略空格回车等等),开始读取字符(字符前后不算)直到遇到空格/Tab键/回车截止吸取;(包括nextInt()、nextDouble()、nextFloat()等)遇到了空格, 就不再录入数据了 。
结束标记:空格, tab键。nextLine()读取字符前后的空格/Tab键,直到回车键截止。可以将数据完整的接收过来 。读取一行,注意到如果是一行的话,空格不作为分割符,一行一行的取,以回车(换行)结束一次取值。
结束标记:回车换行符。
注意:nextLine()不能用在nextInt后面。
因为nextLine()方法返回的是Enter键之前的所有字符,在使用了nextInt() 方法之后在其后输入的空格键、Tab键或Enter键等视为分隔符或结束符,其仍在缓冲区内;若紧接着使用nextLine() ,则nextLine() 自动读取Enter等作为其结束符,则无法从键盘输入值,强行输入会报出InputMismatchException异常。
本文详细介绍了Java中Scanner类的next()、nextInt()和nextLine()方法的区别。next()读取字符串直到遇到空格,nextInt()获取整数,而nextLine()读取整行直至回车。需要注意的是,nextInt()后使用nextLine()可能会引发异常,因为nextInt()会留下换行符在缓冲区中。理解这些方法的差异对于正确处理用户输入至关重要。
647





