在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塊中我們輸出錯誤信息,并清空輸入緩沖區,以便繼續接受下一個輸入。這樣可以保證程序在遇到輸入錯誤時不會崩潰,并可以進行友好的錯誤提示。