检查输入类型是否正确 java

Checking if input is correct type java

    System.out.println("What letter should the word begin with?");
        char letter = input.next().charAt(0);
        if(letter != ''){
            throw new InputMismatchException("Please input a letter");
        }

我想检查用户是否输入了 string/char 以外的任何内容。如果他们有,我想抛出一个异常,说明输入错误。这是我当前的代码,但就目前而言,它无法编译。

你可以检查一下letter是否是这样一个字母:

if ((letter >= 'A' && letter <= 'Z') || (letter >= 'a' && letter <= 'z'))

实际上,Scanner 有这个方便的 next(String pattern) 重载,如果输入与模式不匹配,它会自动抛出 InputMismatchException

char letter = input.next("[a-zA-Z]").charAt(0);

[a-zA-Z]就是这里用的pattern。它接受从 a 到 z 或从 A 到 Z 的任何字符。