Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum funktioniert folgende If-Anweisung nicht?


Gast
2009-12-08, 09:01:34
Es geht um Java. Nehmen wir mal die Signum-Funktion. Das hier funktioniert:


public int signum(int number){
if (number > 0)
return 1;
else if (number == 0)
return 0;
else
return -1;
}

Das hier nicht:


public int signum(int number){
if (number > 0)
return 1;
if (number == 0)
return 0;
if (number < 0)
return -1;
}

Fehler: Missing return statement in line 8. Warum? Ich habe doch sämtliche Fälle beachtet und mit einem Return-Statement versehen?

fdk
2009-12-08, 09:10:05
Der compiler weiß aber nicht das du alle Fälle abgedeckt hast, da er nicht mitdenkt so wie du es tust. Er sieht nur eine Methode die durchlaufen kann ohne einen Wert zurückzugeben.

Gast
2009-12-08, 09:23:17
Macht Sinn. Danke. :)

ScottManDeath
2009-12-08, 19:14:32
oder so:


public int signum(int number)
{
if (number > 0)
return 1;
if (number < 0)
return -1;

return 0;
}