缺少返回语句制作三角形程序

时间:2014-02-17 07:44:45

标签: java return

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

我正在制作一个确定三角形的程序。这是我在编译时遇到错误的地方。它最后给出了一个遗漏的退货声明。怎么解决这个问题?

4 个答案:

答案 0 :(得分:0)

原因是,所有条件都无法执行会发生什么?

可能的解决方案:

  • 你需要在那里提供一个else块。当你提供else时 阻止,然后确定总是有机会返回 价值,可以在ifelse

  • 没有关于if-else的默认返回语句,其中 返回值应以块为单位决定。

答案 1 :(得分:0)

由于最终逻辑(在您的情况下)始终为真,因此您不需要最终else if

简单

return ("Scalene Triangle."); 

但如果下面的内容如果为假,会发生什么?

if(( side1+side2 > side3))

你需要归还一些东西。

答案 2 :(得分:0)

编译器说你必须返回一些东西,因为如果你的所有IF条件都失败了那么它会做什么?

你可以这样做:

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.");        

    }
return ("It is not a triangle");
} // missing return statement here error

答案 3 :(得分:0)

试试这个

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.";        

        }
                        }
  else{
     return "Not a triangle";
      }
  }