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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problema con un metodo (arrays)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con un metodo (arrays)  (Leído 4,921 veces)
KaRaLLo

Desconectado Desconectado

Mensajes: 28



Ver Perfil WWW
Problema con un metodo (arrays)
« en: 21 Enero 2012, 14:45 pm »

En este método lleno mi array int capCaixaGz=new int[5] de numeros aleatorios. El método funciona perfectamente, el problema, es que luego quiero hacer lo mismo con otro array.

Código:
public void setCapCaixNv(){

for (byte i = 0; i < capCaixaGz.length; i++)
capCaixaGz[i]=(int) Math.floor(Math.random()*1000000);

}//fin del metodo setCapCaixaNv


Lo que me gustaría hacer sería esto


Código:
public void setCapBanco(int BANCO){

for (byte i = 0; i < BANCO.length; i++)
BANCO[i]=(int) Math.floor(Math.random()*1000000);

}//fin del metodo setCapBanco

Mi duda es como puedo asignarle a mi array capCaixaGz la referencia banco para poder introducirlo despues en el método ???.

Muchas gracias


En línea

Los programadores escriben código aunque sepan que no debería funcionar, pero  de todas formas lo intentan, como recompilar todo, después de eso, dios sabe porqué, funciona
Proteus1989

Desconectado Desconectado

Mensajes: 184



Ver Perfil WWW
Re: Problema con un metodo (arrays)
« Respuesta #1 en: 21 Enero 2012, 16:18 pm »

public void setCapBanco(int BANCO){

Le estas pasando un entero no un array!


En línea

KaRaLLo

Desconectado Desconectado

Mensajes: 28



Ver Perfil WWW
Re: Problema con un metodo (arrays)
« Respuesta #2 en: 21 Enero 2012, 16:25 pm »

Potreus no me estas entendiendo quiero usar ese metodo para introducir dos arrays por ejemplo

setCapBancos(CapCaix[])

y mas a delante

setCapBancos(CapSantander[])
En línea

Los programadores escriben código aunque sepan que no debería funcionar, pero  de todas formas lo intentan, como recompilar todo, después de eso, dios sabe porqué, funciona
Proteus1989

Desconectado Desconectado

Mensajes: 184



Ver Perfil WWW
Re: Problema con un metodo (arrays)
« Respuesta #3 en: 21 Enero 2012, 16:29 pm »

Pues...
Código:
public void setCapBanco(int[] banco)
{

for (byte i = 0; i < banco.length; i++)
banco[i]=(int) Math.floor(Math.random()*1000000);

}//fin del metodo setCapCaixaNv

Luego llamas a setCapBanco(vectorBanco1), setCapBanco(vectorBanco2), setCapBanco(vectorBanco3) y los va modificando
Como es memoria dinámica no hace falta devolverlo.
En línea

KaRaLLo

Desconectado Desconectado

Mensajes: 28



Ver Perfil WWW
Re: Problema con un metodo (arrays)
« Respuesta #4 en: 21 Enero 2012, 16:44 pm »


Luego llamas a setCapBanco(vectorBanco1), setCapBanco(vectorBanco2), setCapBanco(vectorBanco3) y los va modificando
Como es memoria dinámica no hace falta devolverlo.

No he entendido lo ultimo. lo que no se como hacer es como asociarle banco[] a un vector por ejemplo :

Código:

banco[]=vector[]

//esto tira error
En línea

Los programadores escriben código aunque sepan que no debería funcionar, pero  de todas formas lo intentan, como recompilar todo, después de eso, dios sabe porqué, funciona
Proteus1989

Desconectado Desconectado

Mensajes: 184



Ver Perfil WWW
Re: Problema con un metodo (arrays)
« Respuesta #5 en: 21 Enero 2012, 16:55 pm »

El problema es que no tienes los conceptos claros, se nota que estás empezando :)

1) En java todos los objetos, arrays son dinamicos. Es decir, lo que ti tienes no es la memoria tal cual, sino un puntero que apunta a la dirección de memoria donde está guardada la información.

2) Para asignar un vector a otro es vector = blanco, sin los corchetes

3) Basandome en lo que he dicho en el primer punto cuando tu haces
Código:
int[] banco1 = new int[10];
setCapBanco(banco1);
Automaticamente se queda guardado en banco1. Lo que le has pasado a setCapBanco no es el array, sino el puntero de donde tiene que escribir.

No se si te he ayudado o te he liado más. Pero si no entiendes la memoria dinámica y los punteros que se usan en por ejemplo c, c++ es dificil entender el funcionamiento de java.
En línea

KaRaLLo

Desconectado Desconectado

Mensajes: 28



Ver Perfil WWW
Re: Problema con un metodo (arrays)
« Respuesta #6 en: 21 Enero 2012, 17:14 pm »

El problema es que no tienes los conceptos claros, se nota que estás empezando :)

1) En java todos los objetos, arrays son dinamicos. Es decir, lo que ti tienes no es la memoria tal cual, sino un puntero que apunta a la dirección de memoria donde está guardada la información.

2) Para asignar un vector a otro es vector = blanco, sin los corchetes

3) Basandome en lo que he dicho en el primer punto cuando tu haces
Código:
int[] banco1 = new int[10];
setCapBanco(banco1);
Automaticamente se queda guardado en banco1. Lo que le has pasado a setCapBanco no es el array, sino el puntero de donde tiene que escribir.

No se si te he ayudado o te he liado más. Pero si no entiendes la memoria dinámica y los punteros que se usan en por ejemplo c, c++ es dificil entender el funcionamiento de java.



Vamos a ver si me aclaro xD, imagínate que tengo el este metodo

Código:

public void imprimir(int vector1[]){

for(int i=0;i<vector1.length;i++)
System.out.println(vector1[i])
}


Luego puedo utilizar este metodo de esta forma :

Código:
imprimir(vector2[])

porque le estoy pasando donde tiene que realizar el metodo, y de esta forma me va a imprimir el vector 2 dado este ejemplo ?
En línea

Los programadores escriben código aunque sepan que no debería funcionar, pero  de todas formas lo intentan, como recompilar todo, después de eso, dios sabe porqué, funciona
Proteus1989

Desconectado Desconectado

Mensajes: 184



Ver Perfil WWW
Re: Problema con un metodo (arrays)
« Respuesta #7 en: 21 Enero 2012, 17:38 pm »

Exacto, solo que el [] sobra
En línea

KaRaLLo

Desconectado Desconectado

Mensajes: 28



Ver Perfil WWW
Re: Problema con un metodo (arrays)
« Respuesta #8 en: 21 Enero 2012, 18:15 pm »

Gracias potreus, has si de gran ayuda, la verdad esque soy estudiante de DAM, (antiguo DAI), y la profesora que tengo es un poco retrasada

(eso lo digo sacando un 10 en el módulo de programación de la pasada evaluación)

Si supieras de alguna documentación de java que te hubiera sido realmente útil estaría verdaderamente agradecido.
En línea

Los programadores escriben código aunque sepan que no debería funcionar, pero  de todas formas lo intentan, como recompilar todo, después de eso, dios sabe porqué, funciona
Proteus1989

Desconectado Desconectado

Mensajes: 184



Ver Perfil WWW
Re: Problema con un metodo (arrays)
« Respuesta #9 en: 21 Enero 2012, 19:46 pm »

http://foro.elhacker.net/java/manual_java_basico_pdf_y_1027_paginas-t206793.0.html
Ese es muuuy completo y creo que lo empieza a explicar todo bastante bien desde el principio.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con arrays en C#
.NET (C#, VB.NET, ASP)
Edu 4 4,273 Último mensaje 23 Noviembre 2010, 16:08 pm
por Edu
Problema con arrays dinámicos
Programación C/C++
Khronos14 4 2,849 Último mensaje 31 Diciembre 2010, 23:04 pm
por Khronos14
Duda con arrays dentro de arrays « 1 2 »
PHP
Servia 11 6,763 Último mensaje 10 Marzo 2011, 09:04 am
por Servia
Problema al mostrar return de metodo
Java
;c1v!c 3 2,461 Último mensaje 13 Diciembre 2012, 19:14 pm
por sapito169
¿Como puedo hacer para que un método me devuelva dos arrays?
Java
robertito_prado 4 3,446 Último mensaje 14 Agosto 2013, 00:28 am
por Alien-Z
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines