Frågan 6 jan. 2004 14:19 #1 hallå ja.
gott nytt år på er!
Jag håller på med en metod. Som ganska ofta händer så får jag meddelandet att det saknas return. Beror det på alla if-satserna? Får jag inte ha loopar i en metod som kräver return i form av String? Tacksam för lärdom eftersom jag ofta gör om felet:
-------------------
public String getPorto(int vikt, int längd, int bredd, int höjd) {
if (vikt \< 6) {
if (längd \> 50 \|\| bredd \> 30 \|\| höjd \> 40)
return " 25 kr ";
else
return " 5 kr ";
}
if (vikt \> 5 && vikt \< 51) {
if (längd \> 50 \|\| bredd \> 30 \|\| höjd \> 40)
return " 30 kr ";
else
return " 10 kr ";
}
if (vikt \> 50 && vikt \< 501) {
if (längd \> 50 \|\| bredd \> 30 \|\| höjd \> 40)
return " 50 kr ";
else
return " 30 kr ";
}
if (vikt \> 500) {
if (längd \> 50 \|\| bredd \> 30 \|\| höjd \> 40)
return " 70 kr ";
else
return " 50 kr ";
}
}
--------------------------
Tack så länge!
Phorpher Medlem sedan feb. 2000 2 300 inlägg Ponera att alla dina yttre if-satser är false. Dvs. ingen av de "inre"-satserna kommer att exekveras. Då har du ett missat "return statement".
Du måste alltså alltid returnera någonting; En return i slutet på funktionen.
Fel: Vad händer om bar är mindre eller lika med fem?
public String Foo(int bar)
{
if(bar > 5)
return "Större än fem";
}
Rätt: Alla möjliga "vägar" i programflödet har en return-sats.
public String Foo(int bar)
{
if(bar > 5)
return "Större än fem";
else
return "Mindre eller lika med fem";
}
AAAAh!! Tackar så jättemycket. Då fattar jag!
hej från