检查输入是否为正确的java类型

检查输入是否为正确的java类型,java,types,error-handling,throw,Java,Types,Error Handling,Throw,我想检查用户是否输入了字符串/字符以外的内容。如果他们有,我想抛出一个异常,说明输入错误。这是我当前的代码,但它不编译 您可以检查字母是否是这样的字母: System.out.println("What letter should the word begin with?"); char letter = input.next().charAt(0); if(letter != ''){ throw new InputMismatc

我想检查用户是否输入了字符串/字符以外的内容。如果他们有,我想抛出一个异常,说明输入错误。这是我当前的代码,但它不编译

您可以检查
字母
是否是这样的字母:

    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");
        }

[a-zA-Z]
是此处使用的。它接受从a到z或从a到z的任何字符。

用户可以输入的所有内容都是字符。除了chars之外,没有其他方法可以输入任何内容。你需要告诉我们你对字符的定义。但是,你至少读过java.lang.Character的javadoc吗?你的程序的总体目标是什么?每个输入都可以解释为一个字符,因为每个字符、每个数字和每个标点符号都是ascii字符。正如@TimBiegeleisen所说,@J.Lorenzo实际上,它们中的大多数不是ASCII字符。ASCII仅支持127个字符。因此,您希望用户输入一个介于“a”和“Z”之间的字母。这和char不是一回事。”1'是一个字符“是一个字符。”非常感谢你!我已经解决了这个问题!
if ((letter >= 'A' && letter <= 'Z') || (letter >= 'a' && letter <= 'z'))
char letter = input.next("[a-zA-Z]").charAt(0);