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

Desafio construyendo una nueva aplicacion

public class Main {
    public static void main(String[] args) {
        GestorDeTareas gestor = new GestorDeTareas();

        // Creamos y agregamos algunas tareas
        Tarea tarea1 = new Tarea("Estudiar Java", 1);
        Tarea tarea2 = new Tarea("Hacer ejercicio", 3);
        Tarea tarea3 = new Tarea("Comprar víveres", 2);

        gestor.agregarTarea(tarea1);
        gestor.agregarTarea(tarea2);
        gestor.agregarTarea(tarea3);

        // Mostramos las tareas sin ordenar
        gestor.mostrarTareas();

        // Ordenamos y mostramos las tareas
        gestor.ordenarPorPrioridad();
    }
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class GestorDeTareas {
    private ArrayList<Tarea> listaDeTareas = new ArrayList<>();

    public void agregarTarea(Tarea tarea) {
        listaDeTareas.add(tarea);
    }

    public void mostrarTareas() {
        System.out.println("--- Tareas Actuales ---");
        for (Tarea tarea : listaDeTareas) {
            System.out.println("Descripción: " + tarea.getDescripcion() + " - Prioridad: " + tarea.getPrioridad());
        }
    }

    public void ordenarPorPrioridad() {
        Collections.sort(listaDeTareas, new Comparator<Tarea>() {
            @Override
            public int compare(Tarea t1, Tarea t2) {
                return Integer.compare(t1.getPrioridad(), t2.getPrioridad());
            }
        });
        System.out.println("\n--- Tareas Ordenadas por Prioridad ---");
        mostrarTareas();
    }
}
public class Tarea {
    private String descripcion;
    private int prioridad;

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

    public String getDescripcion() {
        return descripcion;
    }

    public int getPrioridad() {
        return prioridad;
    }
}
1 respuesta

¡Hola Justin!

Parece que estás trabajando en una aplicación para gestionar tareas y estás utilizando listas y colecciones en Java. Tu código se ve bien estructurado y ya tienes implementadas las clases necesarias para manejar las tareas y ordenarlas por prioridad.

Aquí tienes algunos consejos y ejemplos prácticos para mejorar o expandir tu aplicación:

  1. Agregar más funcionalidades: Podrías considerar agregar métodos para eliminar tareas, actualizar la descripción de una tarea o cambiar su prioridad. Por ejemplo:
public void eliminarTarea(Tarea tarea) {
    listaDeTareas.remove(tarea);
}

public void actualizarTarea(Tarea tarea, String nuevaDescripcion, int nuevaPrioridad) {
    tarea.setDescripcion(nuevaDescripcion);
    tarea.setPrioridad(nuevaPrioridad);
}
  1. Uso de Streams para ordenar: A partir de Java 8, puedes usar Streams para ordenar la lista de tareas de manera más concisa:
public void ordenarPorPrioridad() {
    listaDeTareas.sort(Comparator.comparingInt(Tarea::getPrioridad));
    System.out.println("\n--- Tareas Ordenadas por Prioridad ---");
    mostrarTareas();
}
  1. Agregar validaciones: Puedes agregar validaciones para asegurarte de que la prioridad sea un valor válido (por ejemplo, entre 1 y 5) o que la descripción no esté vacía.

  2. Interfaz gráfica: Si quieres llevar tu aplicación al siguiente nivel, podrías considerar crear una interfaz gráfica usando JavaFX o Swing para hacerla más interactiva.

Espero que estos consejos te sean útiles para seguir desarrollando tu aplicación. ¡Sigue adelante con tu proyecto!

Espero haber ayudado y buenos estudios!