Busqueda secuencial
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.
[java]
import java.io.BufferedReader;
import java.io.InputStreamReader;
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];
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));
br = new BufferedReader(new InputStreamReader(System.in));
do{
menu();
}while(Integer.parseInt(N)!=4);
}
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 );
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;
}
}
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;
if(n>0){
String nombre="";
int eureka=0;
try{
System.out.println("Ingresa el Nombre : ");
nombre = br.readLine();
}catch(Exception e){
e.printStackTrace();
}
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. ");
}
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;
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;
int valor=0;
try{
valor= Integer.parseInt(x);
}catch(NumberFormatException e){
System.out.println("Valor invalido");
}
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));
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();
}
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();
}
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();
}
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");
}
}else{
System.out.println("El vector esta lleno, elimina personas para poder insertar");
}
}
public static void eliminar(){
String nombre="";
int encontrados=0;
String nombre="";
int encontrados=0;
if(n>0){
try{
System.out.println("Ingresa el Nombre : ");
nombre = br.readLine();
}catch(Exception e){
e.printStackTrace();
}
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.");
}
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();
}
}
}
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();
}
}
}
}
Comentarios
Publicar un comentario