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()的输入,然后直接结果输出了。
Java Scanner 类 next() 和 nextLine() 方法解析
本文详细对比了Java中Scanner类的next()和nextLine()方法的使用区别,前者不识别空格和Tab键,后者则可以。通过示例代码展示了两种方法在读取用户输入时的行为差异。

被折叠的 条评论
为什么被折叠?



