在Java中,使用Scanner類(lèi)可以實(shí)現(xiàn)輸入驗(yàn)證。以下是一個(gè)簡(jiǎn)單的示例,展示了如何使用Scanner驗(yàn)證用戶輸入的整數(shù)是否為正數(shù):
import java.util.Scanner;
import java.util.InputMismatchException;
public class InputValidation {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;
System.out.println("請(qǐng)輸入一個(gè)正數(shù):");
while (true) {
try {
number = scanner.nextInt();
if (number > 0) {
System.out.println("輸入的正數(shù)是:" + number);
break;
} else {
System.out.println("輸入的數(shù)字不是正數(shù),請(qǐng)重新輸入:");
}
} catch (InputMismatchException e) {
System.out.println("輸入錯(cuò)誤,請(qǐng)輸入一個(gè)整數(shù):");
scanner.next(); // 清除錯(cuò)誤的輸入
}
}
scanner.close();
}
}
在這個(gè)示例中,我們使用nextInt()
方法讀取用戶輸入的整數(shù)。如果輸入的不是整數(shù),nextInt()
方法會(huì)拋出InputMismatchException
異常。我們使用try-catch
語(yǔ)句捕獲這個(gè)異常,并提示用戶重新輸入。
如果輸入的整數(shù)是正數(shù),我們跳出循環(huán),輸出結(jié)果。否則,我們繼續(xù)提示用戶重新輸入。