Java Methode (Schulaufgabe) Verständnisschwierigkeit

M

mar0i

Gast
Hallo computerbase User,

Ich habe in der Schule folgende Aufgabenstellung in der Unterrichtsstunde nicht richtig verstanden. Kann mir bitte jemand von euch dies mir verständlich und anschaulich erklären ich komme nicht richtig dahinter :(


Frage:
Was halten Sie von der folgenden Variante der Bruch-Methode setzeNenner()?

public boolean setzeNenner(int n) {
if (n != 0)
nenner = n;
else
return false;
}

Dies war die Antwort welche im Unterricht generiert wurde:
Bei einer Methode mit Rückgabewert muss jeder mögliche Ausführungspfad mit einer return-
Anweisung enden, die einen Rückgabewert mit kompatiblem Typ liefert. Die vorgeschlagene Methode
verstößt beim Aufruf mit einem von Null verschiedenen Aktualparameterwert gegen diese
Regel.
 
und genau so ist es. die Methode ist vom Typ boolean, daher muss auch dafür ein return statement existieren.
 
Ums zu verdeutlichen:

PHP:
public boolean setzeNenner(int n) {
     if (n != 0) {
          nenner = n;
          return true; //Das fehlt im Code deiner Fragestellung
     } else {
          return false;
     }
}

Es fehlt das return Statement im if Block. Darf es aber nicht, da die Methode sonst für n != 0 nichts zurückgeben würde, was aber nicht erlaubt ist (außer für Methoden vom Typ void).
Da die Methode vom Typ boolean ist, muss auch in jedem Fall ein boolean zurückgegeben werden. ;)
 
Zuletzt bearbeitet:
Vielen dank Grantig für die Erklärung.... jetzt ist es einleuchtend.... :)
 
Zurück
Oben