Compile time Fehler

exercise No. 259

F:

Wir betrachten folgende Methode:

String getResult(int a, int b) {

  if (0 == a % 2) {
    return "In Ordnung";
  } else if (a + b < 0) {
    return "Ganz o.K.";
  } else if (4 < a * b) {
    return "Nicht gut";
  }
}

Warum moniert der Compiler ein Missing return statement?

A:

Die if-Anweisung ist nicht vollständig, es fehlt das finale else:

String getResult(int a, int b) {

  if (0 == a % 2) {
    return "In Ordnung";
  } else if (a + b < 0) {
    return "Ganz o.K.";
  } else if (4 < a * b) {
    return "Nicht gut";
  } else {
    return "Schlecht";
  }
}