java缺失返回语句生成三角形程序
public String displayType(int side1, int side2,int side3)
{
if(( side1+side2 > side3))
if(( side1==side2) && (side2==side3))//tell if equalateral
{
return ("Equalateral Triangle.");
}
else if (( side1==side2) & (side2 != side3) || (side1 == side3) & (side3 != side1))//tells if isosceles
{
return ("Isosceles Triangle.");
}
else if ((side1 != side2) & (side2 != side3))//tells if scalene
{
return ("Scalene Triangle.");
}
} // missing return statement here error
我正在制作一个确定三角形的程序。这就是我编译这个时出错的地方。它在最后给出了一个缺少的return语句。你将如何解决这个问题
# 1 楼答案
编译器的意思是你必须返回一些东西,因为如果你所有的if条件都失败了,那么它会做什么呢
你可以这样做:
# 2 楼答案
因为最终的逻辑(在你的例子中)总是正确的,所以你不需要最终的
else if
简单地
但如果下面的假设为假,会发生什么
你需要归还一些东西
# 3 楼答案
原因是,你所有的条件都没有执行会发生什么
可能的解决方案:
你需要在那里设置一个else街区。当你提供一个其他的 块,那么它肯定总是有机会返回 值,在
if
或else
中不考虑
if-else
的默认返回语句,其中 返回值应以块为单位确定# 4 楼答案
试试这个