【发布时间】:2017-06-08 13:29:38
【问题描述】:
我有一个方法返回 True 或 False,具体取决于输入是 'y' 还是 'n'。但是,当向所询问的问题输入任何其他内容时,我希望它返回错误。我在问如何在布尔方法中返回一个字符串。这是我目前所拥有的:
public static boolean askYesNo(String question1) {
question = question1;
System.out.println(question);
answer = kbdScanner.next();
if (answer.charAt(0) == 'y') {
return true;
}
else if (answer.charAt(0) == 'n') {
return false;
}
return ?????;
}
谢谢
【问题讨论】:
-
您可能想了解异常;或者你可能想使用
Boolean作为返回类型(这样你就可以返回null,然后在调用代码中检查null);或者你可能只是想循环直到你得到y或n。 -
您可以使用
Optional<Boolean>。它可以让您返回Optional.of(true)、Optional.of(false)或Optional.empty()。这类似于 Andy 的Boolean建议,但更明确(并且需要 Java8)。 -
如果您不希望该方法抛出已检查的异常,则可以抛出 RuntimeException
-
在不相关的注释上,您希望“Y”和“N”有效吗?还是只有“y”和“n”?
-
嗯,好点,我没想到。我认为 id 可能坚持使用“y”和“n”。只是为了确认一下,如果我也想要 'Y' 和 'N' id,只需添加 (... || answer.charAt(0) == 'Y' ...) 否?
标签: java methods return boolean