阅读量:0
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异常,以处理其他可能的输入错误。