Java - 将char变量传递给方法并返回布尔值?

时间:2017-11-24 13:28:15

标签: java

你好我是Java的新手,我想知道是否可以将一个字符传递给一个方法,然后如果这个字符有效则返回true。

我有这个方法:

public void btnColor(char c) {
    if (hm.getHiddenWordUpdated().contains(String.valueOf(c))) {
        // Change button color
    }
}

我想要的是拥有这样的东西,虽然它不会让我这样做:

public boolean btnColor(char c, boolean b) {
    if (hm.getHiddenWordUpdated().contains(String.valueOf(c))) {
        return true;
    }
}

所以它需要一个字符变量c并且如果有效则返回true。这种事情有最好的做法吗?

5 个答案:

答案 0 :(得分:2)

你可以做这样的事情,以便总是返回一些价值。这应该是可行的,并且可以被Java接受。

public boolean btnColor(char c, boolean b) {
    if (hm.getHiddenWordUpdated().contains(String.valueOf(c))) {
        return true; // this will return in case of your condition is true
    }
    return false; // this will return otherwise.
}

答案 1 :(得分:1)

尝试这一行

public boolean btnColor(char c, boolean b) {
   return hm.getHiddenWordUpdated().contains(String.valueOf(c));
}

它会返回truefalse

答案 2 :(得分:0)

所有代码路径都需要返回一个值。

public boolean btnColor(char c, boolean b) {
    if (hm.getHiddenWordUpdated().contains(String.valueOf(c))) {
        // add additional code
        return true;
    }
    return false;
}

答案 3 :(得分:0)

如果您有public 布尔 methodName,则表示必须返回布尔值。在代码中包含“IF”语句意味着它可以分为两种可能的方式:IF-true和IF-false。你已经宣布了真实的陈述:

 if (hm.getHiddenWordUpdated().contains(String.valueOf(c))) {
        return true;

所以你要覆盖解决方案的1/2。但如果它是假的呢?没有 ?这就是您遇到问题的原因,因此要解决您的问题,您的代码应如下所示:

public boolean btnColor(char c) {
        if (hm.getHiddenWordUpdated().contains(String.valueOf(c))) {
            return true;
        } else {
           return false;
    }

现在,如果它包含该字符 - 它返回TRUE,但如果它不包含它,则返回FALSE。

答案 4 :(得分:0)

或者,您可以在一行中使用条件:

public boolean btnColor(char c) {
    return (hm.getHiddenWordUpdated().contains(String.valueOf(c))) ? true:false;
}