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.