2014-02-17 22 views
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.");   

     } 
    } // missing return statement here error 

我在制作一个决定三角形的程序。这是我得到我的错误当我编译这个。它在最后给出了一个缺少的return语句。如何解决这个问题?制作三角形程序时缺失return语句

+0

如果条件不就是什么'真'?你会错过一个'return'语句。 – Maroun

+0

..如果if-else块中的所有条件都失败了,该怎么办呢?它会返回什么?那是什么错误是关于 –

+0

任何人都注意到只有第一次和比较才好?应该总是&&,而不是& – vals

回答

0

原因是,你的所有条件都未能执行?

可能的解决方案:

  • 您需要提供一个else块there.When您提供其他 块,那么可以肯定的是始终有返回值 的机会,无论是在if或在else

  • 一个默认返回语句,不涉及if-else,其中 返回值应该以块为单位来决定。

0

由于最终的逻辑(在你的情况下)将永远是真实的,你不需要最终else if

简单

return ("Scalene Triangle."); 

但如果低于如有虚假会有什么后果?

if((side1+side2 > side3)) 

您需要退货。

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 
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"; 
     } 
    } 
+0

它没有工作。我仍然收到错误消息。 – user3296193

+0

@ user3296193如果这个编辑不起作用只是运行这个代码'公共字符串displayType(int side1,int side2,int side3) {return“Not a triangle”;}'并开始添加如果一个接一个,如果你得到错误发布错误 –

+0

那看起来像什么?对不起,我更多的是一个视觉学习者。 – user3296193