Java

java的scanner怎样处理输入异常

小樊
91
2024-09-24 01:11:04
栏目: 编程语言

Java的Scanner类在处理输入异常时,通常使用try-catch语句来捕获和处理可能出现的异常。这些异常可能包括NoSuchElementException、IllegalStateException、InputMismatchException等。下面是一个简单的示例,展示了如何使用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("请输入一个整数: ");
                int input = scanner.nextInt();
                validInput = true;
            } catch (InputMismatchException e) {
                System.out.println("输入错误,请输入一个整数!");
                scanner.next(); // 清除错误的输入
            } catch (NoSuchElementException | IllegalStateException e) {
                System.out.println("发生异常,程序将关闭。");
                scanner.close();
                return;
            }
        }

        System.out.println("您输入的整数是: " + input);
        scanner.close();
    }
}

在这个示例中,我们使用try-catch语句捕获了可能出现的InputMismatchException异常。如果用户输入的不是整数,程序会捕获到这个异常,并提示用户重新输入。同时,我们还捕获了NoSuchElementException和IllegalStateException异常,以处理其他可能的输入错误。

0
看了该问题的人还看了