1. 程式人生 > 實用技巧 >java.util.Scanner中hasNext()方法和next()方法的區別

java.util.Scanner中hasNext()方法和next()方法的區別

先說結論:
  1. 兩者均根據空格劃分資料
  2. 兩者在沒有資料輸入時均會等待輸入
  3. next()方法會將空格劃分的資料依次輸出,執行一次,輸出一個
  4. hasNext()方法會跟著next()方法移動,當前資料不為空,則返回true
程式碼:
import java.util.Scanner;

public class MyScanner {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("1. System.out.println(scanner.hasNext());");
        System.out.println(scanner.hasNext());
        System.out.println("2. System.out.println(scanner.hasNext());");
        System.out.println(scanner.hasNext());
        System.out.println("3. System.out.println(scanner.next());");
        System.out.println(scanner.next());
        System.out.println("4. System.out.println(scanner.hasNext());");
        System.out.println(scanner.hasNext());
        System.out.println("5. System.out.println(scanner.next());");
        System.out.println(scanner.next());
        System.out.println("6. System.out.println(scanner.hasNext());");
        System.out.println(scanner.hasNext());
        System.out.println("7. System.out.println(scanner.next());");
        System.out.println(scanner.next());
        System.out.println("8. System.out.println(scanner.hasNext());");
        System.out.println(scanner.hasNext());

    }
}

  

結果:

流程