java的scanner如何實(shí)現(xiàn)輸入驗(yàn)證

小樊
81
2024-09-24 01:18:03

在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ù)提示用戶重新輸入。

0