一、Scanner物件

  • 基本語法中並沒有實現程式和人的互動,但是Java給我們提供了一個這樣的工具類,我們可以獲取使用者的輸入。java.util.Scanner是Java5的新特徵,我們可以通過Scanner類來獲取使用者的輸入

  • 基本語法:

    Scanner s = new Scanner(System.in);
  • 通過Scanner類的next()與nextLine()方法獲取輸入的字串,在讀取前我們一般需要使用hasNext()與hasNextLine()判斷是否還有資料

二、next()和nextLine()

  • next():

    1.一定要讀取到有效字元後才可以結束輸入

    2.對輸入有效字元後遇到的空白,next()方法會自動將其去掉

    3.只有輸入有效字元後才將其後面輸入的空白作為分隔符活著結束符

    4.next()不能得到帶有空格的字串

    package Scanner;
    
    import java.util.Scanner;
    
    public class Demo01 {
    public static void main(String[] args) { //建立一個掃描器物件,用於接收鍵盤資料
    Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:"); //判斷使用者有沒有輸入字串
    if(scanner.hasNext()){
    //使用next方式接收
    String str = scanner.next();
    System.out.println("輸出的內容為:"+str);
    } //凡是屬於IO流的類不關閉會一直佔用資源,要養成良好習慣用完就關掉
    scanner.close();
    } }

    執行結果

  • nextLine():

    1.以Enter為結束符,也就是nextLine()方法返回的是輸入回車之前的所有字元

    2.可以獲得空白

    package Scanner;
    
    import java.util.Scanner;
    
    public class Demo03 {
    public static void main(String[] args) { //從鍵盤接收資料
    Scanner scanner = new Scanner(System.in); System.out.println("請輸入資料:"); String str = scanner.nextLine();
    System.out.println("輸出的內容為:"+str); scanner.close();
    }
    }

    執行結果