我有一个方法,根据输入是' y'或者' n'。但是,如果在问题中输入任何其他内容,我希望它返回错误。我在布尔方法中询问如何返回String。以下是我到目前为止的情况:
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 ?????;
}
由于
答案 0 :(得分:1)
Java中的方法始终只能有一种返回类型。在你的情况下是boolean,所以你不能返回一个String。
您需要的是例外情况。可以抛出异常,例如如果出现意外情况。在此处阅读更多相关信息:http://beginnersbook.com/2013/04/java-exception-handling/
在您的情况下,我建议使用IllegalArgumentException
,因为您要处理方法输入无效的情况。
答案 1 :(得分:0)
刚做
throw new IllegalArgumentException(question1);
答案 2 :(得分:0)
可能的解决方案是在调用方法之前验证答案。 所以在抽象代码中:
while (answer is not y or n) {
ask question again
}
call method