Algoritmo búsqueda secuencial con Strings en Java


El siguiente programa desarrollado en el lenguaje de programación Java cumple con los siguientes requerimientos.

  • Crea un menú de opciones (INSERTAR, CONSULTAR, ELIMINAR Y FINALIZAR).
  • INSERTAR: almacena el nombre de una personas en vectores estáticos tipo String de tamaño 50.
  • CONSULTAR: Utilizando el algoritmo de búsqueda secuencial pide el nombre y si lo encuentra imprime un mensaje de encontrado, en caso contrario un mensaje de no localizado.
  • ELIMINAR: Utilizando el algoritmo de búsqueda secuencial pide el nombre y si lo encuentra imprime un mensaje de encontrado y elimina el nombre ajustando el vector para no dejar espacios en blanco, en caso contrario un mensaje de no localizado.
  • FINALIZAR: Imprime los nombres almacenado y sale del programa.


import java.io.BufferedReader;
import java.io.InputStreamReader;

public class BusquedaSecuencial {

    static BufferedReader br = null;
    static String N= "";
    static int n=0;
    static String[] Nombre = new String[50];
    static String[] APaterno = new String[50];
    static String[] AMaterno = new String[50];

    public static void main (String args[]){
        br = new BufferedReader(new InputStreamReader(System.in));

        do{
            menu();
        }while(Integer.parseInt(N)!=4);
    }

    public static void menu(){
         do{
            System.out.println("Selecciona una de las opciones del menú: \n "
                                    + "1- INSERTAR \n "
                                    + "2- CONSULTAR "
                                    + "\n 3- ELIMINAR \n "
                                    + "4- FINALIZAR");
            try{
                 N = br.readLine();
            }catch(Exception e){
                e.printStackTrace();
            }
        }while(!esEntero(N) || conversor(N)<=0 || conversor(N)>=5 );

         switch(Integer.parseInt(N)){
            case 1:
                insertar();
                break;
            case 2:
                consultar();
                break;
            case 3:
                eliminar();
                break;
            case 4:
                imprimir();
                break;
        }
    }

    public static void consultar(){
        if(n>0){
            String nombre="";
            int eureka=0;

            try{
                    System.out.println("Ingresa el Nombre : ");
                    nombre = br.readLine();
                }catch(Exception e){
                    e.printStackTrace();
                }

            for(int i=0; i<n; i++){
                if(Nombre[i].equals(nombre)){
                    eureka=1;
                }
            }
            if(eureka==1){
                System.out.println("Nombre encontrado!!!!!. ");
            }else{
                System.out.println("Nombre NO localizado!!!!!. ");
            }
        }
        else{
            System.out.println("No hay elementos en la lista. ");
        }

    }

    public static boolean esEntero(String cad) {
        for(int i = 0; i<cad.length(); i++)
            if( !Character.isDigit(cad.charAt(i)) )
        return false;

        return true;
    }

    public static int conversor(String x){
        int valor=0;

        try{
            valor= Integer.parseInt(x);
        }catch(NumberFormatException e){
            System.out.println("Valor invalido");
        }

        return valor;
    }

    public static void insertar(){

            if(n<50){
                System.out.println("Leyendo datos de la persona: " + (n+1));

            try{
                 System.out.println("Ingresa el Apellido Paterno: ");
                 APaterno[n] = br.readLine();
            }catch(Exception e){
                e.printStackTrace();
            }

            try{
                System.out.println("Ingresa el Apellido Materno: ");
                AMaterno[n] = br.readLine();
            }catch(Exception e){
                e.printStackTrace();
            }

            try{
                 System.out.println("Ingresa el nombre: ");
                 Nombre[n] = br.readLine();
            }catch(Exception e){
                e.printStackTrace();
            }

            n++;
            }else{
                System.out.println("El vector esta lleno, elimina personas para poder insertar");
            }

    }

    public static void eliminar(){
            String nombre="";
            int encontrados=0;

        if(n>0){

            try{
                    System.out.println("Ingresa el Nombre : ");
                    nombre = br.readLine();
                }catch(Exception e){
                    e.printStackTrace();
                }

            for(int i=0; i<n; i++){
                if(Nombre[i].equals(nombre)){
                    encontrados++;
                    for(int j=i; j<n; j++){
                        Nombre[j]=Nombre[j+1];
                        APaterno[j]=APaterno[j+1];
                        AMaterno[j]=AMaterno[j+1];
                    }
                    i--;
                    n--;
                }
            }
            if(encontrados>0){
                System.out.println("Nombre encontrado, procediendo a eliminar!!!!!. ");
            }else{
                System.out.println("Nombre NO localizado!!!!!. ");
            }
        }else{
            System.out.println("No hay elementos a eliminar.");
        }

    }

    public static void imprimir(){
        if(n>0){
            System.out.println("Apellido paterno  Apellido Materno   Nombre");
            for(int i=0; i<n; i++){
                System.out.print(i+1 + ".- " + APaterno[i] + "\t");
                System.out.print(AMaterno [i] + "\t        ");
                System.out.print(Nombre [i] + ".");
                System.out.println();
            }
        }
    }

}

Escrito por elHery  hace 3 años

Sin comentarios

Búsquedas populares:

busqueda secuencial en java, algoritmo de busqueda secuencial en java, codigo de busqueda secuencial en java, programa de busqueda secuencial en java, busqueda secuencial en java codigo, Búsqueda secuencial en java, codigo busqueda secuencial en java, metodo secuencial en java, algoritmo de busqueda secuencial java, algoritmo busqueda secuencial java, metodo de busqueda secuencial en java, Algoritmos de busqueda en Java,

Deja un comentario

*