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
微信掃一掃
支付寶掃一掃