Correction de l'erreur Void Type Not Allowed Here en Java
-
Qu’est-ce que l’erreur
void type not allowed here
? -
Correction
void type not allowed here
Erreur en Java - Ne pas imprimer dans la méthodemain()
-
Correction
void type not allowed here
Erreur en Java - Renvoyez une chaîne au lieu d’imprimer dansprintMessage1()
Nous utilisons de nombreuses fonctions lors de la création de gros programmes en Java, et parfois des erreurs peuvent apparaître. L’une des erreurs que le compilateur peut générer est l’erreur void type not allowed here
discutée dans cet article.
Qu’est-ce que l’erreur void type not allowed here
?
Nous créons une fonction en Java en écrivant le modificateur d’accès, un type de retour, un nom de fonction entre parenthèses et le corps de la fonction est entouré d’accolades. On peut retourner plusieurs types de données depuis une fonction, mais quand on ne veut rien retourner, on utilise le mot clé void
pour dire au compilateur qu’on ne veut rien retourner de la méthode.
Dans le programme ci-dessous, nous avons une classe JavaExample
qui contient deux méthodes, la première est la fonction main()
et la seconde est le printMessage1()
qui a une instruction d’impression System.out.println()
qui imprime un message que printMessage1()
reçoit en paramètre.
La fonction printMessage1()
ne renvoie rien et affiche simplement un message ; nous utilisons le type void
comme type de retour. Nous utilisons une autre instruction print mais dans la méthode main()
et appelons la fonction printMessage1()
à l’intérieur avec String 1
comme argument.
Lorsque nous exécutons le code, la sortie génère une erreur, void type not allowed here
. Cela arrive parce que printMessage1()
a déjà une instruction d’impression qui imprime la valeur
, et il ne renvoie rien lorsque nous appelons la fonction dans une instruction d’impression ; il n’y a rien à imprimer dans la méthode main
.
public class JavaExample {
public static void main(String[] args) {
System.out.println(printMessage1("String 1"));
}
static void printMessage1(String value) {
System.out.println(value);
}
}
Production :
java: 'void' type not allowed here
Correction void type not allowed here
Erreur en Java - Ne pas imprimer dans la méthode main()
La première solution à cette erreur est que nous n’appelons pas la fonction printMessage1()
dans une instruction d’impression car il existe déjà une instruction System.out.println()
dans la méthode elle-même, et elle ne renvoie rien.
Dans ce code, nous écrivons le corps de la fonction printMessage1()
sous la forme d’une instruction println()
. Nous appelons la méthode printMessage1()
dans main()
avec une chaîne en argument.
public class JavaExample {
public static void main(String[] args) {
printMessage1("String 1");
}
static void printMessage1(String value) {
System.out.println(value);
}
}
Production :
String 1
Correction void type not allowed here
Erreur en Java - Renvoyez une chaîne au lieu d’imprimer dans printMessage1()
La deuxième solution consiste à spécifier un type de retour dans la fonction, à renvoyer une valeur et à l’afficher partout où nous appelons la fonction.
On écrit la méthode printMessage1()
mais avec un type de retour String
. Dans le corps de la méthode, nous utilisons le mot-clé return
avec la valeur
que nous voulons renvoyer lors de l’appel. Dans la méthode main()
, nous appelons la fonction printMessage1()
dans une instruction d’impression, mais il n’y aura pas d’erreur car la méthode renvoie une valeur.
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;
}
}
Production :
How are you doing today?
String 2
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