【发布时间】:2018-04-14 14:19:47
【问题描述】:
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 的定义是什么。但是,您至少阅读过 java.lang.Character 的 javadoc 吗?
-
你的计划的总体目标是什么?
-
每个输入都可以解释为一个字符,因为每个字符、每个数字和每个标点符号都是一个 ascii 字符。正如@TimBiegeleisen 所说,您必须告诉该计划的目标是什么,才能给您一些建议。
-
@J.Lorenzo 实际上,它们中的大多数都不是 ASCII 字符。 ASCII 仅支持 127 个字符。
-
因此,您希望用户在“A”和“Z”之间输入一个字母。这与字符不同。 '1' 是一个字符。 'é' 是一个字符。 “????”是一个字符。所以你想要
if (letter >= 'A' && letter <= 'Z')。
标签: java types error-handling throw