繁体   English   中英

Java错误:缺少return语句?

[英]Java error: missing return statement?

这是我的方法:

//usedLetters method to check if user's guess has already been guessed
private boolean usedLetters(char used[], char alphabet) throws IOException
{
   for(int x=0; x<used.length; x++){

    if(alphabet == used[x])
    {
        return true;
    }

    else
    {
        used[dataSize] = alphabet;
        return false;
    }
    }
}//End of usedLetters method

IT会检查用户是否已经猜到了用另一种方法输入的字母。 如果已经猜到,则返回true;如果尚未猜到,则将字母添加到used中,并返回false。 但是错误表明没有返回语句...我一般不熟悉方法,因此感到困惑。 任何帮助,将不胜感激!

如果used.length==0怎么办? 然后,永远不会输入for循环。

因此,循环后需要一个return语句。

如果从未输入for怎么办? used.length == 0used是一个空数组)。 在这种情况下-将不会返回任何内容。

编译器禁止在不返回值的情况下可以终止的流,这就是为什么它会显示错误。


另请注意,我相信即使更正了此问题,该程序也会产生错误的结果,它将仅检查used的第一个元素,而不会前进到下一个元素。

您应该将return false; 到最后一个} 否则它将在循环的第一次迭代中返回。

/usedLetters method to check if user's guess has already been guessed
private boolean usedLetters(char used[], char alphabet) throws IOException
{
   for(int x=0; x

if(alphabet == used[x])
{
    return true;
}

else
{
    used[dataSize] = alphabet;
    return false;
}
}

} // usedLetters方法的结尾

for循环后应该有return语句,当前没有return语句,这就是为什么您会出错。

在编写代码时,该方法将始终在循环的第一次迭代中返回,但我怀疑这是您想要的。

我相信您应该在for之外返回false。 我不确定“猜测字母”是什么意思,但我认为这是您要尝试的做法。

是的,以上所有都是正确的。 您最好在顶部定义return变量,将其设置为方法主体内任何需要的值,突破“ for”循环,最后将其返回一次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM