Java-将char变量传递给方法并返回布尔值?
您好,我对Java非常陌生,我想知道是否可以将一个字符传递给一个方法,然后如果该字符有效,则返回true 我有这个方法:Java-将char变量传递给方法并返回布尔值?,java,Java,您好,我对Java非常陌生,我想知道是否可以将一个字符传递给一个方法,然后如果该字符有效,则返回true 我有这个方法: public void btnColor(char c) { if (hm.getHiddenWordUpdated().contains(String.valueOf(c))) { // Change button color } } 我想要的是这样的东西,尽管它不允许我这样做: public boolean btnColor(char c
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。这类事情有最佳实践吗?您可以这样做,以便始终返回一些值。这在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.
}
所有代码路径都需要返回一个值
public boolean btnColor(char c, boolean b) {
if (hm.getHiddenWordUpdated().contains(String.valueOf(c))) {
// add additional code
return true;
}
return false;
}
当您有
public
booleanmethodName
时,这意味着它必须返回一个boolean。在代码中使用“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。尝试这一行
public boolean btnColor(char c, boolean b) {
return hm.getHiddenWordUpdated().contains(String.valueOf(c));
}
它将返回
true
或false
或者,您可以在一行中使用条件:
public boolean btnColor(char c) {
return (hm.getHiddenWordUpdated().contains(String.valueOf(c))) ? true:false;
}
关闭if块后,需要提供返回false。对于所有可能的流,该方法需要返回一个布尔值
return hm.getHiddenWordUpdated().contains(String.valueOf(c))代码>@Stultuske:没有。他只需要一行,你也不需要额外的boolean
参数,更改返回类型是对签名所需的全部修改。您的问题表明,阅读一些Java教科书和教程的介绍会对您有所帮助,因为这些都是非常基本的概念。不太合适:如果计算为真,则返回为真,如果不返回false==>返回计算为easier@azro如果要在if语句块中添加一些附加代码,则需要添加if语句。。。