Autor
|
Tema: Problema con un metodo (arrays) (Leído 5,266 veces)
|
KaRaLLo
|
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
|
|
|
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
|
public void setCapBanco(int BANCO){
Le estas pasando un entero no un array!
|
|
|
En línea
|
|
|
|
KaRaLLo
|
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
|
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.
|
|
|
En línea
|
|
|
|
KaRaLLo
|
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
|
|
|
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
|
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.
|
|
|
En línea
|
|
|
|
KaRaLLo
|
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 : 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
|
|
|
|
KaRaLLo
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema con arrays en C#
.NET (C#, VB.NET, ASP)
|
Edu
|
4
|
4,519
|
23 Noviembre 2010, 16:08 pm
por Edu
|
|
|
Problema con arrays dinámicos
Programación C/C++
|
Khronos14
|
4
|
3,123
|
31 Diciembre 2010, 23:04 pm
por Khronos14
|
|
|
Duda con arrays dentro de arrays
« 1 2 »
PHP
|
Servia
|
11
|
7,214
|
10 Marzo 2011, 09:04 am
por Servia
|
|
|
Problema al mostrar return de metodo
Java
|
;c1v!c
|
3
|
2,640
|
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,715
|
14 Agosto 2013, 00:28 am
por Alien-Z
|
|