java中next()與nextLine()的區別

  next():一定要讀取到有效字符後纔可以結束輸入,對輸入有效字符之前遇到的空格鍵、Tab鍵或Enter鍵等結束符,next()方法會自動將其去掉,只有在輸入有效字符之後,next()方法纔將其後輸入的空格鍵、Tab鍵或Enter鍵等視爲分隔符或結束符,所以next()方法不能得到帶空格的字符串;

在以下代碼中輸入爲:abc 123efd  &@com

import java.util.Scanner;

public class Practice{

	public static void main(String[] args) {
         Scanner input = new Scanner(System.in);
         System.out.print("請輸入字符串:");
         String sc = input.next();
         System.out.println("字符串輸出爲:" + sc);
         }
}

輸出爲:

請輸入字符串:abc 123efd  &@com
字符串輸出爲:abc

nextLine():結束符是Enter鍵,它返回的是Enter鍵之前的所有字符,是可以得到帶空格的字符串的。

在以下代碼中輸入爲:abc 123efd  &@com

import java.util.Scanner;

public class Practice {

	public static void main(String[] args) {
         Scanner input = new Scanner(System.in);
         System.out.print("請輸入字符串:");
         String cc = input.nextLine();         
         System.out.println("字符串輸出爲:" + cc); 
     }
}

輸出爲:

請字符串:abc 123efd  &@com
字符串輸出爲:abc 123efd  &@com

可見nextLine()方法輸出了帶有空格的字符串,而next()方法遇到空格符就認爲字符串輸入結束了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章