在Java中,使用Scanner類處理輸入超時時,可以通過設置超時參數來實現。以下是一個示例:
import java.util.Scanner;
import java.util.InputMismatchException;
import java.util.NoSuchElementException;
public class ScannerTimeoutExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 設置輸入超時時間(單位:毫秒)
scanner.setTimeout(3000); // 設置為3秒
System.out.println("請輸入一個整數(輸入超時時間為3秒):");
try {
int input = scanner.nextInt();
System.out.println("輸入的整數是:" + input);
} catch (InputMismatchException e) {
System.out.println("輸入超時,請重新運行程序并輸入一個整數。");
} catch (NoSuchElementException e) {
System.out.println("輸入超時,請重新運行程序并輸入一個整數。");
} finally {
scanner.close();
}
}
}
在這個示例中,我們設置了Scanner的輸入超時時間為3秒。如果在3秒內沒有輸入任何內容,程序將拋出NoSuchElementException
異常。如果輸入的不是整數,程序將拋出InputMismatchException
異常。在這兩種情況下,我們都捕獲了異常并給出了相應的提示信息。