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.
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
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
public void setCapBanco(int BANCO){
Le estas pasando un entero no un array!
Potreus no me estas entendiendo quiero usar ese metodo para introducir dos arrays por ejemplo
setCapBancos(CapCaix[])
y mas a delante
setCapBancos(CapSantander[])
Pues...
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.
Cita de: Proteus1989 en 21 Enero 2012, 16:29 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 :
banco[]=vector[]
//esto tira error
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
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.
Cita de: Proteus1989 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
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
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 :
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 ?
Exacto, solo que el [] sobra
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.
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.