elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  vector como parametro, problemas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: vector como parametro, problemas  (Leído 2,105 veces)
Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
vector como parametro, problemas
« en: 20 Agosto 2019, 05:10 am »

Una pregunta porque puedo hacer esto

Código
  1. package ana;
  2.  
  3.  
  4. public class Prueba{
  5.  
  6. private static final int TAMAÑO = 10;
  7.  
  8. public static int[] cargarArreglo() {
  9. int[] arreglo = new int[TAMAÑO];
  10. for(int i = 0; i < arreglo.length; i++) {
  11. arreglo[i] = (int) (Math.random() * 10 + 1);
  12. }
  13. return arreglo;
  14. }
  15.  
  16. public static void mostrarArreglo(int arreglo[]) {
  17. for(int i = 0; i < arreglo.length; i++) {
  18. System.out.print(arreglo[i] + " ");
  19. }
  20. }
  21.  
  22. public static void main(String args[]) {
  23.  
  24. int[] vector = cargarArreglo();
  25. mostrarArreglo(vector);
  26.  
  27. }
  28. }

pero no esto??

Código
  1. package ana;
  2.  
  3.  
  4. public class Prueba{
  5.  
  6. private static final int TAMAÑO = 10;
  7.  
  8. public static void cargarArreglo(int arreglo[]) {
  9. arreglo = new int[TAMAÑO];
  10. for(int i = 0; i < arreglo.length; i++) {
  11. arreglo[i] = (int) (Math.random() * 10 + 1);
  12. }
  13. }
  14.  
  15. public static void mostrarArreglo(int arreglo[]) {
  16. for(int i = 0; i < arreglo.length; i++) {
  17. System.out.print(arreglo[i] + " ");
  18. }
  19. }
  20.  
  21. public static void main(String args[]) {
  22.  
  23. int[] vector;
  24. cargarArreglo(vector);
  25. mostrarArreglo(vector);
  26. }
  27. }

Por último, me parece a mi o tengo que inicializar si o si un vector antes de mandarlo como parametro? o.O  :huh:



En línea

7w7
s0n1k

Desconectado Desconectado

Mensajes: 10


Spain, Basque Country


Ver Perfil
Re: vector como parametro, problemas
« Respuesta #1 en: 20 Agosto 2019, 13:00 pm »

cargarArreglo(int arreglo[]) -> cargarArreglo(int[] arreglo)

Y depende la clase del vector, si tiene default constructor en 0,0,0 no tienes por que iniciarlo.


En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.165



Ver Perfil
Re: vector como parametro, problemas
« Respuesta #2 en: 20 Agosto 2019, 16:56 pm »

Saludos,

- Mi profesor de Java me dijo los siguiente acerca de este tema:

Citar
Declarar un Array lo único que hace es dejar un espacio para una variable en el Stack, pero todavía no habrá creado el Objeto, es decir, el Array propiamente dicho no estará creado.

Lo usual es int arr[]; o int []arr;

Luego tenemos que instanciar el Array, tenemos que hacerlo sino podremos trabajar con él, un Array que solo está declarado no nos permitirá trabajar. En este momento es cuando se construye el Objeto.

Para construir un Objeto en Java hay un proceso llamado "Instanciación de un Objeto", que es cuando se crea un Objeto partiendo de una Clase. Eso lo veremos con más detall en la Programación orientada a Objetos. En este caso estamos en el mismo escenario, hay que crear un Objeto de tipo Array y para instanciar o crear este Objeto hay que utilizar un Constructor:

arr[] = new int[5];

Con esta instrucción se crea un Objeto en el Heap, de momento vacio y con valores por defecto, pero ya es un Objeto que tiene espacio para almacenar 5 enteros.

También se puede declarar e instanciar un Array en una sola instrucción, el código más tipico es:

int arr[] = new int[5];

Nunca dejar los Array solo declarados porque no sirven para nada, hay que declararlos e instanciarlos y si se puede hacerlo en una sola instrución, pues más cómodo.

También está la otra forma de declarar un Array e instanciarlo con datos:

int arr[] = {1, 2, 3, 4, 5};

- Y como una propuesta de solución:

Código
  1. public class Prueba{
  2.  
  3.  private static final int TAMANO = 10;
  4.  
  5.  public static void cargarArreglo(int arreglo[]) {
  6.    //arreglo = new int[TAMANO]; // Esto crea otro Array y desecha el pasado como argumento
  7.    for(int i = 0; i < arreglo.length; i++) {
  8.      arreglo[i] = (int) (Math.random() * 10 + 1);
  9.    }
  10.  }
  11.  
  12.  public static void mostrarArreglo(int arreglo[]) {
  13.    for(int i = 0; i < arreglo.length; i++) {
  14.      System.out.print(arreglo[i] + " ");
  15.    }
  16.  }
  17.  
  18.  public static void main(String args[]) {
  19.  
  20.    int[] vector = new int[TAMANO];
  21.    cargarArreglo(vector);
  22.    mostrarArreglo(vector);
  23.  }
  24. }


Código
  1. C:\Users\EdSon\Desktop>java Prueba.java
  2. 7 1 4 7 5 10 10 1 8 2
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problemas metodo con parametro (solucionado) era sin parametro XD
Java
rub'n 6 6,922 Último mensaje 25 Noviembre 2010, 16:45 pm
por Afsoon
Vector POO (Problemas)
Programación C/C++
NecBalaam 2 3,321 Último mensaje 22 Agosto 2011, 02:49 am
por NecBalaam
C++ vector por parametro.
Programación C/C++
programador10 7 12,401 Último mensaje 10 Octubre 2011, 23:06 pm
por Eternal Idol
Como pasar un fichero de salida como parametro
Programación C/C++
ZedGe 3 6,016 Último mensaje 30 Enero 2012, 15:03 pm
por ZedGe
Extraño problemas con vector
Programación C/C++
amchacon 5 2,449 Último mensaje 14 Abril 2014, 11:52 am
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines