Programación General > Java

 Buscar un criterio en un vector de registros

(1/1)

Hispasat88:
Hola a todos,

Mi nota era para ver si alguien sabe, una vez creado e inicializado un vector de registros, buscar, en todo el vector, y en todos los campos de los registros, un criterio introducido por teclado. Yo ya he implementado una manera, que me muestra el contacto, pero me produce una excepcion al final de la ejecucion. Este es mi codigo:

--- Código: Text --- public static void buscaCriterio(Contacto[] vectorBase, String palabra){        for(int d=0;d<=vectorBase.length;d++){            if(vectorBase[d].nombre.equals(palabra)){                System.out.print("Este es el contacto:" +vectorBase[d].nombre);            }            else{                if(vectorBase[d].apellido1.equals(palabra)){                    System.out.print("Este es el contacto:" +vectorBase[d].nombre);                    break;                }                else{                    if(vectorBase[d].apellido2.equals(palabra)){                        System.out.print("Este es el contacto:" +vectorBase[d].nombre);                        break;                    }                    else{                        if(vectorBase[d].comentarios.equals(palabra)){                            System.out.print("Este es el contacto:" +vectorBase[d].nombre);                            break;                        }                        else{                            if(vectorBase[d].grupo.equals(palabra)){                                System.out.print("Este es el contacto:" +vectorBase[d].nombre);                                break;                            }                            else{                                if(vectorBase[d].correo.equals(palabra)){                                    System.out.println("Este es el contacto: "+vectorBase[d].nombre);                                    break;                                }                                else{                                    int numero=Integer.parseInt(palabra);                                    if(vectorBase[d].movil==numero){                                        System.out.print("Este es el contacto:" +vectorBase[d].nombre);                                        break;                                    }                                    else{                                        if(vectorBase[d].fijo==numero){                                            System.out.print("Este es el contacto:" +vectorBase[d].nombre);                                            break;                                        }                                    }                                }                            }                        }                    }                }            }        }    } 
Si alguien sabe alguna manera mejor, por favor que me la diga.

Gracias a todos.

tyrell:
La excepcion es por la declaracion del for que te sales del rango del vector.
for(int d=0;d<=vectorBase.length;d++)

Si tu vector es de 10 elementos por ejemplo al empezar de 0 y d sea menor o igual que 10 significa que haras 11 pasadas.
Cambialo por esto:
for(int d=0;d<vectorBase.length;d++)
No deberia tirar excepcion ahora.

Navegación

[0] Índice de Mensajes

Ir a la versión completa