Scanner 类中next()和nextLine都可以实现字符串String的获取。
所以我们会纠结两者之间的区别…
next()当遇见第一个有效字符时开始扫描,当遇见第一个分隔符或结束符(空格、换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的字符串。
使用nextLine()时,可以扫描一行内容并且可以作为一个字符串被获取到。
public class Test{
public static void main(String[] args) {
System.out.println("------1------");
Scanner scanner = new Scanner(System.in);
String nextStr = scanner.next();
System.out.println("scanner.next()得到"+nextStr);
String nextLineStr = scanner.nextLine();
System.out.println("scanner.nextLine()得到"+nextLineStr);
System.out.println("------2-------");
String nextLineStr2 = scanner.nextLine();
System.out.println("scanner.nextLine()得到"+nextLineStr2);
String nextStr2 = scanner.next();
System.out.println("scanner.next()得到"+nextStr2);
}
}
输出:
------1------
hello world nice to see you
scanner.next()得到hello
scanner.nextLine()得到 world nice to see you
------2-------
hello world nice to see you
scanner.nextLine()得到hello world nice to see you
hello world nice to see you
scanner.next()得到hello