next()和nextline()都是Scanner类中的方法,都可以用来拾取控制台输入。
两者之间的不同是:
next()不能识别空格/tab键(当然空格和tab键后的内容也不会识别),并且以enter键截止;
nextline()可以识别空格/tab键及其后的内容,以enter键截止;
public class text2 {
public static void main(String[] args) {
Scanner s= new Scanner(System.in);
System.out.println("输入b");
String b =s.nextLine();
System.out.println("输入a");
String a =s.next();
System.out.println(a+"\n"+b);
}
}
输入及输出结果
调换next()和nextline()顺序
public class text2 {
public static void main(String[] args) {
Scanner s= new Scanner(System.in);
System.out.println("输入a");
String a =s.next();
System.out.println("输入b");
String b =s.nextLine();
System.out.println(a+"\n"+b);
}
}
输入及输出结果
可以看出在next()输入字符串和空格和Tab键后,再enter键后,程序直接将空格后内容当做了nextline()的输入,然后直接结果输出了。