COMPARTE ESTE ARTÍCULO

Introducción

Este ejercicio en Java es ideal para aprender sobre estructuras de datos y el uso de clases y métodos para gestionar información. Vamos a crear una agenda de contactos donde podrás almacenar, buscar y eliminar contactos. Este ejercicio es adecuado para un nivel medio-bajo y te ayudará a reforzar el uso de arrays, listas, métodos y bucles en Java.

Enunciado del Ejercicio

Desarrolla un programa en Java que implemente una agenda de contactos. Cada contacto debe tener un nombre y un número de teléfono. La agenda debe permitir al usuario:

  1. Agregar un nuevo contacto.
  2. Buscar un contacto por nombre.
  3. Eliminar un contacto por nombre.
  4. Mostrar todos los contactos guardados.
  5. Salir del programa.

Requisitos

  1. Uso de clases: Crear una clase Contacto que contenga dos atributos: nombre y número de teléfono.
  2. Almacenamiento de contactos: Usa un ArrayList para almacenar los contactos.
  3. Operaciones de la agenda: Implementa métodos para agregar, buscar, eliminar y mostrar contactos.
  4. Control de flujo: Utiliza un bucle do-while para permitir que el usuario realice múltiples acciones hasta que decida salir.

Ejemplo de Salida

Bienvenido a la Agenda de Contactos
1. Agregar un nuevo contacto
2. Buscar un contacto por nombre
3. Eliminar un contacto por nombre
4. Mostrar todos los contactos
5. Salir
Seleccione una opción: 1

Ingrese el nombre del contacto: Juan
Ingrese el número del contacto: 123456789
Contacto agregado exitosamente.

Seleccione una opción: 4
Lista de contactos:
- Juan: 123456789

Seleccione una opción: 5
Gracias por usar la agenda de contactos.

Sugerencias para la Implementación

  1. Crear una clase Contacto con atributos nombre y telefono y sus respectivos métodos.
  2. Usar un ArrayList para almacenar los contactos, lo cual permite agregar y eliminar elementos de manera dinámica.
  3. Implementar métodos en la clase Agenda para cada acción (agregar, buscar, eliminar, y mostrar).

Código de Ejemplo

A continuación, se presenta una implementación de la agenda de contactos en Java:

import java.util.ArrayList;
import java.util.Scanner;

class Contacto {
    private String nombre;
    private String telefono;

    public Contacto(String nombre, String telefono) {
        this.nombre = nombre;
        this.telefono = telefono;
    }

    public String getNombre() {
        return nombre;
    }

    public String getTelefono() {
        return telefono;
    }

    @Override
    public String toString() {
        return nombre + ": " + telefono;
    }
}

public class Agenda {

    private ArrayList<Contacto> contactos = new ArrayList<>();

    public void agregarContacto(String nombre, String telefono) {
        contactos.add(new Contacto(nombre, telefono));
        System.out.println("Contacto agregado exitosamente.");
    }

    public void buscarContacto(String nombre) {
        boolean encontrado = false;
        for (Contacto contacto : contactos) {
            if (contacto.getNombre().equalsIgnoreCase(nombre)) {
                System.out.println("Contacto encontrado: " + contacto);
                encontrado = true;
                break;
            }
        }
        if (!encontrado) {
            System.out.println("Contacto no encontrado.");
        }
    }

    public void eliminarContacto(String nombre) {
        boolean eliminado = false;
        for (Contacto contacto : contactos) {
            if (contacto.getNombre().equalsIgnoreCase(nombre)) {
                contactos.remove(contacto);
                System.out.println("Contacto eliminado.");
                eliminado = true;
                break;
            }
        }
        if (!eliminado) {
            System.out.println("Contacto no encontrado.");
        }
    }

    public void mostrarContactos() {
        if (contactos.isEmpty()) {
            System.out.println("No hay contactos guardados.");
        } else {
            System.out.println("Lista de contactos:");
            for (Contacto contacto : contactos) {
                System.out.println("- " + contacto);
            }
        }
    }

    public static void main(String[] args) {
        Agenda agenda = new Agenda();
        Scanner scanner = new Scanner(System.in);
        int opcion;

        do {
            System.out.println("\nAgenda de Contactos");
            System.out.println("1. Agregar un nuevo contacto");
            System.out.println("2. Buscar un contacto por nombre");
            System.out.println("3. Eliminar un contacto por nombre");
            System.out.println("4. Mostrar todos los contactos");
            System.out.println("5. Salir");
            System.out.print("Seleccione una opción: ");
            opcion = scanner.nextInt();
            scanner.nextLine();  // Limpiar el buffer

            switch (opcion) {
                case 1:
                    System.out.print("Ingrese el nombre del contacto: ");
                    String nombre = scanner.nextLine();
                    System.out.print("Ingrese el número del contacto: ");
                    String telefono = scanner.nextLine();
                    agenda.agregarContacto(nombre, telefono);
                    break;
                case 2:
                    System.out.print("Ingrese el nombre del contacto a buscar: ");
                    String nombreBusqueda = scanner.nextLine();
                    agenda.buscarContacto(nombreBusqueda);
                    break;
                case 3:
                    System.out.print("Ingrese el nombre del contacto a eliminar: ");
                    String nombreEliminar = scanner.nextLine();
                    agenda.eliminarContacto(nombreEliminar);
                    break;
                case 4:
                    agenda.mostrarContactos();
                    break;
                case 5:
                    System.out.println("Gracias por usar la agenda de contactos.");
                    break;
                default:
                    System.out.println("Opción no válida. Intente de nuevo.");
                    break;
            }

        } while (opcion != 5);

        scanner.close();
    }
}

Explicación del Código

  1. Clase Contacto: Contiene los atributos nombre y telefono, un constructor para inicializarlos, y el método toString() para facilitar la impresión de los contactos.
  2. Clase Agenda: Contiene un ArrayList<Contacto> para almacenar los contactos. También tiene métodos para agregar, buscar, eliminar y mostrar contactos.
  3. Estructura do-while: Permite al usuario realizar múltiples operaciones en la agenda hasta que elige salir (opción 5).
  4. Métodos de búsqueda y eliminación: La búsqueda es insensible a mayúsculas y minúsculas gracias a equalsIgnoreCase, y remove elimina el primer contacto que coincida con el nombre dado.

Conclusión

Este ejercicio es una excelente práctica para gestionar datos con Java y comprender el uso de clases y métodos en un contexto práctico. Crear una agenda de contactos te ayudará a entender mejor cómo organizar y manipular datos en un programa realista.


¿QUÉ TE HA PARECIDO EL ARTÍCULO? Danos tu opinión al final de la página.
Deja tu comentario y ayúdanos a crecer.


¡SÍGUENOS EN TUS REDES FAVORITAS!
AYUDANOS A CRECER Y QUE LLEGUEMOS A TODAS LAS PERSONAS QUE NOS NECESITANA. SÍGUENOS EN TUS REDES.
Entra AQUÍ y elíge donde seguirnos. 

 

 


NUESTRAS ÚLTIMAS PUBLICACIONES

AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.

Contenido restringido

Acceso de usuarios existentes
   
Registro de un nuevo usuario
*Campo necesario

Categories:

Tags:

Comments are closed

Estado de acceso
ESTADO DE ACCESO
TRADUCTORES
COMPARTENOS
error: CONTENIDO PROTEGIDO