Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/01/2012, 18:30
amadeo123
 
Fecha de Ingreso: diciembre-2011
Mensajes: 134
Antigüedad: 13 años
Puntos: 5
Problema con vectores.

Estoy empezando con la programación en java y tengo muchas pequeñas dudas.Como llevo poco en la programación orientada a objetos, si me expreso de forma errónea, os agradecería si me corrigiese.

Trabajo con eclipse y con el complemento WindowsBuilder, que nos permite crear interfaces gráficas.


Quiero crear 2 vectores y jugar un poquito con ellos, aquí están los vectores que creo.

int[] v1 = new int [10];
int[] v2 = {1,2,3,4,5};

y aquí como los implemento. en los primeros 3 casos quiero saber si un numero esta en el vector o no, y en los dos segundos casos donde se encuentra ese numero, y sino esta que me devuelva -1






if(buscar(0,v1)) lblNewLabel_2.setText("el numero 0 si esta en v1");
else lblNewLabel.setText("el numero 0 no esta en la lista v1");

if(buscar(5,v2)) lblNewLabel_1.setText("el numero 5 si esta en v2");
else lblNewLabel.setText("el numero 0 no esta en la lista v2");

if(buscar(7,v2)) lblNewLabel.setText("el numero 7 si esta en v2");
else lblNewLabel.setText("el numero 7 no esta en la lista v2");


lbl1.setText("el numero 3 de v1 esta en la pos: "+buscarPos(3,v1));
lbl2.setText("el numero 4 de v2 esta en la pos: "+buscarPos(4,v2));


private boolean buscar (int num, int[]vector)
{
for (int i=0; i<vector.length; i++)
{
if(vector [i]==num)
return (true);
}
//si llego aqui, he llegado al final del vector
// y no esta
return(false);
}




private int buscarPos (int num, int[]vector)

{
for (int i=0; i<vector.length; i++)
{
if(vector [i]==num)
return i;
}
return -1 ;
}


Los primero 3 resultados (saber si el numero esta o no) los encuentra perfectamente, pero cuando le pido que me encuentre la posición del numero, en el caso de un vector definido con este formato '' int[] v1 = new int [10]; '' me saca siempre -1, y en el otro caso saca el numero perfectamente.


No se si he sido lo suficientemente claro o si necesitáis observar mas parte del código, de ser así hacedmelo saber.