java的scanner怎樣處理輸入異常

小樊
81
2024-09-24 01:11:04

Java的Scanner類(lèi)在處理輸入異常時(shí),通常使用try-catch語(yǔ)句來(lái)捕獲和處理可能出現(xiàn)的異常。這些異??赡馨∟oSuchElementException、IllegalStateException、InputMismatchException等。下面是一個(gè)簡(jiǎn)單的示例,展示了如何使用try-catch處理輸入異常:

import java.util.InputMismatchException;
import java.util.Scanner;

public class ScannerExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        boolean validInput = false;

        while (!validInput) {
            try {
                System.out.print("請(qǐng)輸入一個(gè)整數(shù): ");
                int input = scanner.nextInt();
                validInput = true;
            } catch (InputMismatchException e) {
                System.out.println("輸入錯(cuò)誤,請(qǐng)輸入一個(gè)整數(shù)!");
                scanner.next(); // 清除錯(cuò)誤的輸入
            } catch (NoSuchElementException | IllegalStateException e) {
                System.out.println("發(fā)生異常,程序?qū)㈥P(guān)閉。");
                scanner.close();
                return;
            }
        }

        System.out.println("您輸入的整數(shù)是: " + input);
        scanner.close();
    }
}

在這個(gè)示例中,我們使用try-catch語(yǔ)句捕獲了可能出現(xiàn)的InputMismatchException異常。如果用戶(hù)輸入的不是整數(shù),程序會(huì)捕獲到這個(gè)異常,并提示用戶(hù)重新輸入。同時(shí),我們還捕獲了NoSuchElementException和IllegalStateException異常,以處理其他可能的輸入錯(cuò)誤。

0