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");
}
我想查看用户是否输入了字符串/ char之外的任何内容。如果他们有我想抛出一个说输入错误的异常。这是我目前的代码,但它不会编译。
答案 0 :(得分:1)
您可以检查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的任何字符。