gpt4 book ai didi

java - 缺少返回语句错误java

转载 作者:行者123 更新时间:2023-12-02 05:02:39 25 4
gpt4 key购买 nike

public String getValue(int n) 
{
if (n % ham == 0 || n % spam==0)
{
if(n % ham == 0 && n % spam == 0)
{
return "hamspam";
}
else if(n % ham == 0 && n % spam != 0)
{
return "ham";
}
else if(n % ham != 0 && n % spam==0)
{
return "spam";
}
}
else
{
return Integer.toString(n);
}
}

最佳答案

逻辑上,我们可以得出结论,如果nhamspam的倍数,那么n > 是两者的倍数,或者恰好是两者之一的倍数。我们可以从逻辑上得出结论,在外部 if 内部,不可能至少有 3 个条件之一为 true 并返回一个 return将被执行。

但是Java编译器没那么聪明。它只是看到 block 中最后一个else if之后没有return,并得出结论,存在一个没有return的执行路径,所以它给出了编译错误。

从逻辑上讲,如果前两个条件为 false,则给定外部 if,第三个条件必定为 true。

替换

else if(n % ham != 0 && n % spam==0)

else

逻辑上是等价的,编译器也会满足每个执行路径都有一个return语句。

关于java - 缺少返回语句错误java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28101197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com