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()的輸入,然後直接結果輸出了。