Scanner 是 Java 中常用的類,用來讀取控制台或檔案中的輸入資料。它提供了一種簡單的方式來解析基本類型和字串,並支援對正規表示式進行匹配。
Scanner 類別位於 java.util 套件中,因此在編寫程式時需要 import 該套件。在開始使用 Scanner 之前,我們需要建立一個 Scanner 物件來存取輸入來源。
建立 Scanner 物件的語法為:
Scanner scanner = new Scanner(System.in);
上面的程式碼建立了一個 Scanner 對象,可以使用它來讀取標準輸入流中的資料。除此之外,我們還可以使用其他的輸入流來建立 Scanner 物件。
下面我們來看一些常用的 Scanner 操作。
我們可以使用next() 方法來讀取一個字串,它會讀取控制台輸入中的下一個單詞,並傳回一個字串。
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串:"); String str = scanner.next(); System.out.println("你输入的字符串是:" + str);
上面的程式碼運行結果:
请输入一个字符串:Hello World! 你输入的字符串是:Hello
上述程式碼只讀取了輸入中的第一個單字"Hello",因為next() 方法預設會使用空格分隔輸入的字符串,所以它只會讀取輸入中的第一個單字。如果需要讀取整個字串,可以使用 nextLine() 方法。
我們可以使用nextInt() 或nextLong() 來讀取一個整數或長整數,如果輸入的不是數值類型,就會拋出InputMismatchException 異常。
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个整数:"); int num = scanner.nextInt(); System.out.println("你输入的整数是:" + num);
上面的程式碼運行結果:
请输入一个整数:123 你输入的整数是:123
我們可以使用nextFloat() 或nextDouble() 來讀取一個浮點型資料。如果輸入的不是浮點型數據,會拋出 InputMismatchException 例外。
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个浮点数:"); float f = scanner.nextFloat(); System.out.println("你输入的浮点数是:" + f);
上面的程式碼運行結果:
请输入一个浮点数:3.14 你输入的浮点数是:3.14
我們可以使用nextBoolean() 方法來讀取一個布林類型數據,如果輸入的值不是true 或false,會拋出InputMismatchException 異常。
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个布尔值(true/false):"); boolean b = scanner.nextBoolean(); System.out.println("你输入的布尔值是:" + b);
上面的程式碼執行結果:
请输入一个布尔值(true/false):true 你输入的布尔值是:true
Scanner 也提供了一個findInLine() 方法來讀取正規表示表達式。此方法可以讀取控制台輸入中第一次出現的正規表示式,並傳回一個符合的字串。
Scanner scanner = new Scanner(System.in); System.out.print("请输入一个正则表达式:"); String pattern = scanner.findInLine("\d+"); System.out.println("你输入的正则表达式匹配的字符串是:" + pattern);
上面的程式碼執行結果:
请输入一个正则表达式:Hello 123 World! 你输入的正则表达式匹配的字符串是:123
以上就是 Scanner 類別的一些常用操作,希望對大家學習 Java 有幫助。
以上是Java中的Scanner操作詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!