Scanner.hasNext() 方法是 Java 中 Scanner 類的一個方法。該方法用於返回 boolean 類型的值,表示該掃描器實例中是否還有下一個驗證前綴。
一、Scanner.hasNext() 的基本用法
Scanner.hasNext() 方法用於判斷掃描器中是否有下一個令牌,如果有則返回 true,否則返回 false。
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("請輸入一個字元串:"); boolean hasToken = scanner.hasNext(); System.out.println("hasNext = " + hasToken); scanner.close(); } }
上述代碼中,我們使用Scanner類的實例 scanner 從控制台輸入一個字元串,並通過hasNext()方法判斷該scanner實例中是否有下一個令牌。
二、Scanner.hasNext() 判斷下一個令牌類型
我們還可以使用Scanner.hasNext()方法判斷輸入是否為特定類型的數據。例如,我們可以使用Scanner.hasNextInt()方法判斷下一個令牌是否為整型。
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("請輸入一個整數:"); boolean hasInt = scanner.hasNextInt(); System.out.println("hasNextInt = " + hasInt); scanner.close(); } }
上述代碼中,我們通過hasNextInt()方法判斷下一個令牌是否為整型數值,並輸出判斷結果。可以看出,該方法只能判斷下一個令牌是否為整型數值,而不能判斷其他類型的數據。而如果下一個令牌不是整型數值,則該方法不會等待輸入,並立即返回 false。
三、Scanner.hasNext() 判斷下一個令牌格式
除了判斷下一個令牌的類型之外,Scanner類還提供了一些方法用於判斷輸入是否符合特定的格式。例如,我們可以使用Scanner.hasNext(String pattern)方法判斷下一個令牌是否符合指定的格式。
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("請輸入一個含有字母的字元串:"); boolean hasPattern = scanner.hasNext("[a-zA-Z]+"); System.out.println("hasNextPattern = " + hasPattern); scanner.close(); } }
上述代碼中,我們使用Scanner.hasNext(String pattern)方法判斷下一個令牌是否符合指定的正則表達式,其中正則表達式 [a-zA-Z]+ 用於匹配一個或多個字母字元。如果下一個令牌符合該正則表達式,則返回 true,否則返回 false。
四、Scanner.hasNext() 等待輸入
Scanner.hasNext()方法將會等待用戶輸入,直到用戶輸入下一個令牌為止。如果用戶一直沒有輸入下一個令牌,則該方法將一直等待。
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("請輸入一個整數:"); while(!scanner.hasNextInt()){ System.out.print("請重新輸入一個整數:"); scanner.next(); } int num = scanner.nextInt(); System.out.println("輸入的整數是:" + num); scanner.close(); } }
上述代碼中,我們使用while循環等待用戶輸入整數。如果用戶沒有輸入整數,則會一直提示並等待用戶重新輸入,直到用戶輸入一個整數為止。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/240482.html