Autor Tema: Java código de ejemplo método genera y retorna un array (arreglo) de enteros int  (Leído 1699 veces)

drate

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Buenas noches. Estoy haciendo un curso de Java y haciendo una práctica me ha surgido la siguiente duda.

¿Se puede devolver un array como resultado de un método?

Dicho método tendría la siguiente sintaxis:

Código: [Seleccionar]
public static int[] collatz(int n) {
int[]aux= new int[300];
return aux;
}
« Última modificación: 12 de Marzo 2022, 18:09 por Ogramar »

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 988
    • Ver Perfil
Re: Duda Java
« Respuesta #1 en: 24 de Diciembre 2021, 20:05 »
Sí, sin ningún problema.

Los métodos en Java pueden retornar cualquier objeto o dato de tipo primitivo existente.
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

drate

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 24
    • Ver Perfil
Re: Duda Java
« Respuesta #2 en: 25 de Diciembre 2021, 17:01 »
Buenas tardes.
El caso es que cuando intento devolver el array el compilador me dice que un método void no puede retornar ningún valor.

utilizo la siguiente sintaxis:

public static int[] collatz(int n)

he declarado un array dentro
operado con él
pero no me deja devolverlo.
Si me pueden ayudar se lo agradecería. Un saludo y muchísimas gracias.

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 988
    • Ver Perfil
Re: Duda Java
« Respuesta #3 en: 25 de Diciembre 2021, 19:14 »
Mmmh que raro ese mensaje de error.

Si el método está devolviendo un array (o lo que sea), entonces ya no es un "método void".

¿Podemos ver el código completo? En algún sitio ha de haber un error de sintaxis que hace que el compilador considere void un método que no lo es...


Te dejo además un código de ejemplo, donde un método genera y retorna un array de enteros.

Código: [Seleccionar]
import java.util.Random;
import java.util.Scanner;

public class PruebaMetodoArray {

public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);

System.out.print("Cuantos enteros quieres generar?: ");
int cantidad = teclado.nextInt();

int[] generados = arrayAzarEnteros(cantidad);

System.out.println("\nLista de enteros generados:");
for (int entero: generados)
System.out.print(entero + " ");

teclado.close();

}

/*
* Genera un array con tantos números enteros al azar
* como se le indique por argumentos.
*/
public static int[] arrayAzarEnteros(int numEnteros) {
int[] enteros = new int[numEnteros];

Random azar = new Random();

for (int i = 0; i < enteros.length; i++)
enteros[i] = azar.nextInt(100);

return enteros;
}

}
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".