Fehler Void Type Not Allowed Here in Java beheben

Rupam Yadav 12 Oktober 2023
  1. Was ist der Fehler void type not allowed here?
  2. Behebung des Fehlers Void Type Not Allowed Here in Java - Nicht in der Methode main() drucken
  3. Behebung des Fehlers Void Type Not Allowed Here in Java - Geben Sie eine Zeichenfolge zurück, anstatt in printMessage1() zu drucken
Fehler Void Type Not Allowed Here in Java beheben

Wir verwenden viele Funktionen, wenn wir große Programme in Java erstellen, und manchmal können Fehler auftreten. Einer der Fehler, die der Compiler auslösen kann, ist der in diesem Artikel beschriebene Fehler void type not allowed here.

Was ist der Fehler void type not allowed here?

Wir erstellen eine Funktion in Java, indem wir den Zugriffsmodifikator, einen Rückgabetyp, einen Funktionsnamen in Klammern schreiben und den Funktionskörper in geschweiften Klammern einschließen. Wir können mehrere Datentypen von einer Funktion zurückgeben, aber wenn wir keine zurückgeben möchten, verwenden wir das Schlüsselwort void, um dem Compiler mitzuteilen, dass wir nichts von der Methode zurückgeben möchten.

Im folgenden Programm haben wir eine Klasse JavaExample, die zwei Methoden enthält, die erste ist die Funktion main() und die zweite ist die Funktion printMessage1(), die eine Druckanweisung System.out.println() hat, die eine Nachricht druckt, die printMessage1() als Parameter erhält.

Die Funktion printMessage1() gibt nichts zurück und druckt nur eine Nachricht; Als Rückgabetyp verwenden wir den Typ void. Wir verwenden eine andere print-Anweisung, aber in der Methode main() und rufen darin die Funktion printMessage1() mit String 1 als Argument auf.

Wenn wir den Code ausführen, gibt die Ausgabe einen Fehler aus: void type not allowed here. Das passiert, weil printMessage1() bereits eine print-Anweisung hat, die den value druckt, und nichts zurückgibt, wenn wir die Funktion in einer print-Anweisung aufrufen; In der Methode main gibt es nichts zu drucken.

public class JavaExample {
  public static void main(String[] args) {
    System.out.println(printMessage1("String 1"));
  }

  static void printMessage1(String value) {
    System.out.println(value);
  }
}

Ausgabe:

java: 'void' type not allowed here

Behebung des Fehlers Void Type Not Allowed Here in Java - Nicht in der Methode main() drucken

Die erste Lösung für diesen Fehler besteht darin, dass wir die Funktion printMessage1() nicht in einer Druckanweisung aufrufen, da in der Methode selbst bereits eine System.out.println()-Anweisung vorhanden ist und diese nichts zurückgibt.

In diesem Code schreiben wir den Körper der Funktion printMessage1() als println()-Anweisung. Wir rufen die Methode printMessage1() in main() mit einem String als Argument auf.

public class JavaExample {
  public static void main(String[] args) {
    printMessage1("String 1");
  }

  static void printMessage1(String value) {
    System.out.println(value);
  }
}

Ausgabe:

String 1

Behebung des Fehlers Void Type Not Allowed Here in Java - Geben Sie eine Zeichenfolge zurück, anstatt in printMessage1() zu drucken

Die zweite Lösung besteht darin, einen Rückgabetyp in der Funktion anzugeben, einen Wert zurückzugeben und ihn überall dort auszugeben, wo wir die Funktion aufrufen.

Wir schreiben die Methode printMessage1(), aber mit einem Rückgabetyp String. Innerhalb des Methodenkörpers verwenden wir das Schlüsselwort return mit dem value, den wir beim Aufruf zurückgeben wollen. In der Methode main() rufen wir die Funktion printMessage1() in eine Druckanweisung auf, aber es tritt kein Fehler auf, da die Methode einen Wert zurückgibt.

public class JavaExample {
  public static void main(String[] args) {
    System.out.println(printMessage1("How are you doing today?"));
    System.out.println(printMessage1("String 2"));
  }

  static String printMessage1(String value) {
    return value;
  }
}

Ausgabe:

How are you doing today?
String 2
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Verwandter Artikel - Java Void