1. 程式人生 > >Java中next與nextLine方法的區別

Java中next與nextLine方法的區別

1. Java中的Scanner類中的方法next()與nextLine()都是吸取輸入控制檯輸入的字元
①next()方法不會吸取字元前和後的空格/Tab,只吸取字元,開始吸取字元(字元前後不算)
直到遇到空格/Tab/回車擷取吸取

②nextLine()吸取字元前後的空格/Tab鍵,回車鍵截止

2. 下面對next與nextLine()方法進行測試

①從控制檯輸入:abcd abcd abcd

import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        System.out.println(str);
        String str = sc.nextLine();
        System.out.println(str);
    }
}

對於第一種情況: 從控制檯輸入:abcd abcd abcd,輸出的結果是:

因為next方法遇到了空格停止接收,所以只輸出了abcd,nextLine方法開始從空格處開始接收直到遇到了第一個回車那麼結束接收,說明nextLine方法可以接收空格,next方法遇到空格等會停止接收

②先輸入Tab鍵,然後輸入abcd

import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        System.out.println(str);
    }
}

對於第二種情況,輸出的結果是:

說明nextLine方法可以接收Tab鍵