在Java中,可以使用异常处理机制来优雅地处理scanf输入错误。一种常见的处理方法是使用try-catch语句来捕获异常并进行相应的处理。以下是一个示例代码:
import java.util.Scanner; import java.util.InputMismatchException; public class InputExample { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); try { System.out.print("请输入一个整数:"); int num = scanner.nextInt(); System.out.println("输入的整数为:" + num); } catch (InputMismatchException e) { System.out.println("输入错误,请输入一个整数"); // 清空输入缓冲区 scanner.nextLine(); } scanner.close(); } }
在上面的代码中,我们使用try-catch语句捕获InputMismatchException异常,这个异常在输入类型不匹配时会被抛出。在catch块中我们输出错误信息,并清空输入缓冲区,以便继续接受下一个输入。这样可以保证程序在遇到输入错误时不会崩溃,并可以进行友好的错误提示。