Arreglar void type not allowed here Error en Java
-
¿Qué es el error
void type not allowed here
? -
Arreglar el tipo de vacío no permitido aquí Error en Java: no imprimir en el método
main()
-
Corrija
void type not allowed here
Error en Java: devuelva una cadena en lugar de imprimir enprintMessage1()
Usamos muchas funciones cuando creamos grandes programas en Java y, a veces, pueden aparecer errores. Uno de los errores que puede arrojar el compilador es el error void type not allowed here
discutido en este artículo.
¿Qué es el error void type not allowed here
?
Creamos una función en Java escribiendo el modificador de acceso, un tipo de retorno, un nombre de función entre paréntesis y el cuerpo de la función está entre llaves. Podemos devolver varios tipos de datos de una función, pero cuando no queremos devolver ninguno, usamos la palabra clave void
para decirle al compilador que no queremos devolver nada del método.
En el siguiente programa, tenemos una clase JavaExample
que contiene dos métodos, el primero es la función main()
y el segundo es printMessage1()
que tiene una declaración de impresión System.out.println()
que imprime un mensaje que printMessage1()
recibe como parámetro.
La función printMessage1()
no devuelve nada y solo imprime un mensaje; usamos el tipo void
como tipo de retorno. Usamos otra declaración de impresión pero en el método main()
y llamamos a la función printMessage1()
dentro de ella con String 1
como argumento.
Cuando ejecutamos el código, la salida arroja un error, void type not allowed here
. Ocurre porque printMessage1()
ya tiene una sentencia de impresión que imprime el valor
, y no devuelve nada cuando llamamos a la función en una sentencia de impresión; no hay nada que imprimir en el método 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);
}
}
Producción :
java: 'void' type not allowed here
Arreglar el tipo de vacío no permitido aquí Error en Java: no imprimir en el método main()
La primera solución a este error es que no llamamos a la función printMessage1()
en una declaración de impresión porque ya existe una declaración System.out.println()
en el método en sí, y no devuelve nada.
En este código, escribimos el cuerpo de la función printMessage1()
como una declaración println()
. Llamamos al método printMessage1()
en main()
con una cadena como argumento.
public class JavaExample {
public static void main(String[] args) {
printMessage1("String 1");
}
static void printMessage1(String value) {
System.out.println(value);
}
}
Producción :
String 1
Corrija void type not allowed here
Error en Java: devuelva una cadena en lugar de imprimir en printMessage1()
La segunda solución es especificar un tipo de devolución en la función, devolver un valor e imprimirlo donde sea que llamemos a la función.
Escribimos el método printMessage1()
pero con un tipo de retorno String
. Dentro del cuerpo del método, usamos la palabra clave return
con el valor
que queremos devolver cuando se llame. En el método main()
, llamamos a la función printMessage1()
en una declaración de impresión, pero no habrá ningún error ya que el método devuelve un valor.
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;
}
}
Producción :
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