在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块中我们输出错误信息,并清空输入缓冲区,以便继续接受下一个输入。这样可以保证程序在遇到输入错误时不会崩溃,并可以进行友好的错误提示。