一、 .next():
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
注意:next() 不能得到带有空格的字符串。
public class Demo4 {
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
System.out.println("使用next()方法,将空格作为间隔符。输入为:");
while(sc.hasNext()){ System.out.print("输出为:");
String n=sc.next();
System.out.print(n);
}
}
结果:
二、.nextInt():
这个方法跟next()一样,只是规定了数据类型是Int。
三、.nextLine():
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。
public class Demo4 {
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
System.out.println("使用nextLine()方法,并且输入为:");
String n=sc.nextLine(); System.out.println("输出为:");
System.out.println(n);
}
}
结果:
总结:
next()与nextLine()区别很明确,next() 方法遇见第一个有效字符(不是空格和换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,也就是说使用next()方法获得的是不含空格和换行符的单个字符串。
而使用nextLine()时, 则可以扫描到一行内容并作为一个字符串而被获取到。即next()和nextInt()以空格或回车换行作为结束,nextLine()以回车换行作为结束。