Korrigieren den Fehlertyp Missing Return Statement in Java
-
Warum tritt der Fehler
missing return statement
in Java auf -
Korrigieren den Fehlertyp
Missing Return Statement
in Java
Der Java-Compiler meldet möglicherweise den Fehler missing return statement
, wenn die Schleifen if
, for
oder while
in einer Methode verwendet werden. Dieser Artikel erklärt, warum das passiert und wie man damit umgeht.
Warum tritt der Fehler missing return statement
in Java auf
Einer der häufigsten Java-Fehler ist ein missing return statement
.
Es ist ein Fehler, der während des Kompilierungsprozesses auftritt. Wie die Aussage schon sagt, wird das Problem normalerweise durch eine fehlende return-Anweisung im Programm verursacht.
Nehmen wir ein Programm als Referenz, das diesen Fehler erzeugen kann.
Hier ist eine Methode, die eine Variable vom Typ String
zurückgibt, nachdem festgestellt wurde, ob eine als Argument übergebene Zahl eine Primzahl ist oder nicht. Diese Methode verwendet die Schleifen if
, else
und for
.
Wenn wir uns dieses Programm genau ansehen, sehen wir das erste Paar der if-else
-Schleife, die jeweils einen String
zurückgeben. In der else
-Schleife führen wir eine for
-Schleife aus, die wiederum mit if
und else
einen String
zurückliefert.
Es sieht auf den ersten Blick in Ordnung aus. Aber nach sorgfältiger Prüfung können wir feststellen, dass die else
-Anweisung nichts zurückgibt, falls die for
-Schleife fehlschlägt.
Mit anderen Worten, der Compiler weiß nicht, dass die for
-Schleife innerhalb der else
-Schleife einen String
zurückgibt. Es schafft Mehrdeutigkeit.
Selbst wenn die for
-Schleife läuft und einen Typ zurückgibt, muss der Compiler davon ausgehen, dass er möglicherweise nichts zurückgibt. Um diese Verwirrung für den Compiler zu beseitigen, sollte die else
-Methode einen String
-Typ zurückgeben.
Die Java-Dokumentation schlägt vor, dass, wenn wir eine Methode mit einem Rückgabetyp deklarieren, eine return
-Anweisung am Ende der Methode stehen muss. Andernfalls zeigt der Compiler den Fehler missing return statement
an.
Dieser Fehler wird ausgelöst, wenn wir versehentlich die return-Anweisung der Methode weglassen, da sie keinen Rückgabetyp hat oder nicht mit dem Typ void
deklariert wurde.
public class TestError {
public static void main(String[] args) {
System.out.println(Check_Prime(10));
System.out.println(Check_Prime(5));
System.out.println(Check_Prime(2));
System.out.println(Check_Prime(1));
}
public static String Check_Prime(int number) {
int i;
if (number == 2) {
return "Prime";
} else {
if (number < 2) {
return "Not Prime";
} else {
for (i = 2; i <= number; i++) {
if (number % i == 0) {
return "Not Prime";
} else {
return "Prime";
}
}
}
}
}
}
Korrigieren den Fehlertyp Missing Return Statement
in Java
public class TestError {
public static void main(String[] args) {
System.out.println(Check_Prime(10));
System.out.println(Check_Prime(5));
System.out.println(Check_Prime(2));
System.out.println(Check_Prime(1));
}
public static String Check_Prime(int number) {
int i;
int k = number / 2;
if (number == 2) {
return "Prime";
} else {
if (number < 2) {
return "Not Prime";
} else {
for (i = 2; i <= k; i++) {
if (number % i == 0) {
return "Not Prime";
} else {
return "Prime";
}
}
return "";
}
}
}
}
Ausgabe:
Not Prime
Prime
Prime
Not Prime
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInVerwandter Artikel - Java Error
- Adresse wird bereits verwendet JVM_Bind-Fehler in Java
- Android Java.Lang.IllegalStateException behoben: Methode der Aktivität konnte nicht ausgeführt werden
- Ausnahme im Hauptthread Java.Lang.ClassNotFoundException in IntelliJ IDEA
- Ausnahme im Hauptthread Java.Lang.NoClassDefFoundError
- Beheben Sie das Problem, dass Java nicht installiert werden kann. Es gibt Fehler in den folgenden Schaltern
- Beheben Sie den Fehler `Es wurde keine Java Virtual Machine gefunden` in Eclipse