java中使用Scanner類實現數據輸入十分簡單方便,Scanner類中next()與nextLine()都可以實現字符串String的獲取,所以我們會糾結二者之間的區別。
其實next()與nextLine()區別很明確:
next() 方法遇見第一個有效字符(非空格,非換行符)時,開始掃描,當遇見第一個分隔符或結束符(空格或換行符)時,結束掃描,獲取掃描到的內容,即獲得第一個掃描到的不含空格、換行符的單個字符串。
使用nextLine()時,則可以掃描到一行內容並作為一個字符串而被獲取到。
舉例說明一下:
1 import java.util.Scanner; 2 3 public class ScannerTest { 4 5 public static void main(String[] args) { 6 System.out.println("---->Test1:"); 7 Scanner scanner = new Scanner(System.in); 8 String nextStr = scanner.next(); 9 System.out.println("scanner.next()得到:" + nextStr); 10 String nextlineStr = scanner.nextLine(); 11 System.out.println("scanner.nextLine()得到:" + nextlineStr); 12 13 System.out.println("\n---->Test2:"); 14 String nextlineStr2 = scanner.nextLine(); 15 System.out.println("scanner.next()得到:" + nextlineStr2); 16 String nextStr2 = scanner.next(); 17 System.out.println("scanner.next()得到:" + nextStr2); 18 } 19 }
運行以上代碼得到(我每次都是輸入Hello World Nice To See You):

