Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

01 Desafío: construyendo una nueva aplicación

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

class Tarea {
    String titulo;
    String descripcion;
    String prioridad;

    public Tarea(String titulo, String descripcion, String prioridad) {
        this.titulo = titulo;
        this.descripcion = descripcion;
        this.prioridad = prioridad;
    }

    @Override
    public String toString() {
        return "Tarea: " + titulo + ", Descripción: " + descripcion + ", Prioridad: " + prioridad;
    }
}

public class GestorDeTareas {
    List<Tarea> tareas = new ArrayList<>();
    Scanner scanner = new Scanner(System.in);

    public void agregarTarea() {
        System.out.print("Ingrese el título de la tarea: ");
        String titulo = scanner.nextLine();
        System.out.print("Ingrese la descripción de la tarea: ");
        String descripcion = scanner.nextLine();
        System.out.print("Ingrese la prioridad (Alta, Media, Baja): ");
        String prioridad = scanner.nextLine();
        tareas.add(new Tarea(titulo, descripcion, prioridad));
        System.out.println("Tarea agregada.");
    }

    public void mostrarTareas() {
        if (tareas.isEmpty()) {
            System.out.println("No hay tareas.");
        } else {
            for (int i = 0; i < tareas.size(); i++) {
                System.out.println(i + ": " + tareas.get(i));
            }
        }
    }

    public void menu() {
        int opcion;
        do {
            System.out.println("\nGestor de Tareas");
            System.out.println("1. Agregar Tarea");
            System.out.println("2. Mostrar Tareas");
            System.out.println("3. Salir");
            System.out.print("Seleccione una opción: ");
            opcion = scanner.nextInt();
            scanner.nextLine(); // Limpiar el buffer

            switch (opcion) {
                case 1:
                    agregarTarea();
                    break;
                case 2:
                    mostrarTareas();
                    break;
                case 3:
                    System.out.println("Saliendo.");
                    break;
                default:
                    System.out.println("Opción no válida.");
            }
        } while (opcion != 3);
    }

    public static void main(String[] args) {
        GestorDeTareas gestor = new GestorDeTareas();
        gestor.menu();
    }
}

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

¡Hola Esteban, espero que estés bien!

Tu código para el gestor de tareas se ve muy bien. Parece que ya tienes implementadas las funcionalidades básicas para agregar y mostrar tareas. Aquí hay algunas sugerencias para mejorar o expandir tu aplicación:

  1. Eliminar Tareas: Podrías agregar una opción para eliminar tareas. Aquí tienes un ejemplo de cómo podrías implementar esto:

    public void eliminarTarea() {
        mostrarTareas();
        if (!tareas.isEmpty()) {
            System.out.print("Ingrese el número de la tarea que desea eliminar: ");
            int indice = scanner.nextInt();
            scanner.nextLine(); // Limpiar el buffer
            if (indice >= 0 && indice < tareas.size()) {
                tareas.remove(indice);
                System.out.println("Tarea eliminada.");
            } else {
                System.out.println("Índice no válido.");
            }
        }
    }
    

    Luego, agrega esta opción al menú:

    System.out.println("4. Eliminar Tarea");
    

    Y actualiza el switch en el método menu:

    case 4:
        eliminarTarea();
        break;
    
  2. Validación de Prioridad: Podrías validar la entrada de la prioridad para asegurarte de que solo se ingresen valores válidos (Alta, Media, Baja).

    String prioridad;
    do {
        System.out.print("Ingrese la prioridad (Alta, Media, Baja): ");
        prioridad = scanner.nextLine();
    } while (!prioridad.equalsIgnoreCase("Alta") && 
             !prioridad.equalsIgnoreCase("Media") && 
             !prioridad.equalsIgnoreCase("Baja"));
    
  3. Guardar y Cargar Tareas: Si quieres hacer la aplicación más robusta, podrías implementar la funcionalidad para guardar las tareas en un archivo y cargarlas al iniciar la aplicación.

Espero que estas sugerencias te sean útiles. ¡Bons estudios!