如何在布尔方法中返回错误?

时间:2017-01-23 22:03:01

标签: java methods return boolean

我有一个方法,根据输入是' 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 ?????;
}

由于

3 个答案:

答案 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