Una solución robusta y eficiente basada en consola desarrollada en Java para la gestión estructurada de contactos, aplicando reglas estrictas de validación, control de duplicados y ordenamiento alfabético. Proyecto desarrollado para el desafío de la Hackatón. ⚙️ 📋 🛠️ 💻
- Atributos: Nombre, Apellido y Teléfono
La agenda soporta dos modos de inicialización:
- Tamaño por Defecto: Capacidad inicial estandarizada para 10 contactos.
El sistema implementa de forma estricta las siguientes funciones de lógica de negocio:
añadirContacto(Contacto c): Inserta un contacto validando previamente que no existan duplicados, que los campos obligatorios no estén vacíos y que la agenda no supere su capacidad máxima.existeContacto(Contacto c): Evalúa la presencia de un contacto basándose en la coincidencia de nombre y apellido.listarContactos(): Despliega la lista completa en formatoNombre Apellido - Teléfono. Implementa un ordenamiento alfabético previo por nombre y apellido.buscaContacto(String nombre): Realiza una búsqueda por coincidencia y retorna el teléfono del contacto o un mensaje de error si no es localizado.eliminarContacto(Contacto c): Remueve el objeto de la agenda notificando el éxito de la operación o informando si el elemento no existía.modificarTelefono(String nombre, String apellido, String nuevoTelefono): Actualiza el teléfono de un registro existente tras validar su presencia en el sistema.agendaLlena(): Retorna un estado booleano e informa si se ha alcanzado el límite de almacenamiento.espacioLibres(): Calcula y muestra cuantitativamente cuántos slots de almacenamiento quedan disponibles en base al tamaño máximo.
Al ejecutar el programa, se despliega una interfaz interactiva de comandos con el siguiente árbol de opciones:
==========================================
MENU AGENDA TELEFÓNICA
==========================================
1. Añadir Contacto
2. Verificar Existencia de Contacto
3. Listar Contactos (Orden Alfabético)
4. Buscar Contacto por Nombre
5. Modificar Teléfono de Contacto
6. Eliminar Contacto
7. Consultar si la Agenda está Llena
8. Consultar Espacios Libres Disponibles
9. Salir
==========================================
Seleccione una opción:
Asegúrate de contar con el Java Development Kit (JDK 17 o superior) instalado de forma local.
- Clona este repositorio en tu máquina local:
git clone https://github.com
- Accede a la carpeta raíz del proyecto:
cd (nombre del repositorio) - Compila los archivos fuente de Java:
javac -d bin src/*.java - Ejecuta la aplicación (Asegúrate de reemplazar
Mainpor el nombre de tu clase principal si es distinto):java -cp bin Main
- Equipo -
- Jairo Cortés Morales
- Victor Adrian Beltran Mendez
- Javier Morales Arenas
- Leonardo Rafael Uresti Iñiguez
- Daniel Castro Pérez
- Miguel Angel Campos Hipolito
- Natalia González Coca
- Zaira Lamas
- Cristian Mejia
- Diego González Celis
🏆 Proyecto desarrollado bajo formato contrarreloj para la evaluación técnica de la Hackatón 2026.