在Java中,可以使用異常處理機(jī)制來(lái)優(yōu)雅地處理scanf輸入錯(cuò)誤。一種常見(jiàn)的處理方法是使用try-catch語(yǔ)句來(lái)捕獲異常并進(jìn)行相應(yīng)的處理。以下是一個(gè)示例代碼:
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("請(qǐng)輸入一個(gè)整數(shù):");
int num = scanner.nextInt();
System.out.println("輸入的整數(shù)為:" + num);
} catch (InputMismatchException e) {
System.out.println("輸入錯(cuò)誤,請(qǐng)輸入一個(gè)整數(shù)");
// 清空輸入緩沖區(qū)
scanner.nextLine();
}
scanner.close();
}
}
在上面的代碼中,我們使用try-catch語(yǔ)句捕獲InputMismatchException異常,這個(gè)異常在輸入類型不匹配時(shí)會(huì)被拋出。在catch塊中我們輸出錯(cuò)誤信息,并清空輸入緩沖區(qū),以便繼續(xù)接受下一個(gè)輸入。這樣可以保證程序在遇到輸入錯(cuò)誤時(shí)不會(huì)崩潰,并可以進(jìn)行友好的錯(cuò)誤提示。