1
resposta

Resolução do desafio "Verificando a data de um evento"

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        DateTimeFormatter formatoData = DateTimeFormatter.ofPattern("dd-MM-yyyy");

        System.out.println("Digite a data do evento (dd-MM-yyyy): ");
        LocalDate dataEvento = LocalDate.parse(scanner.nextLine(), formatoData);

        System.out.println("Data do evento: " + dataEvento.format(formatoData));
        System.out.println("Data atual: " + LocalDate.now().format(formatoData));

        if (dataEvento.isBefore(LocalDate.now())) {
            System.out.println("O evento já ocorreu.");
        } else if (dataEvento.isAfter(LocalDate.now())) {
            System.out.println("O evento ainda está por vir.");
        } else {
            System.out.println("O evento vai ocorrer hoje!");
        }
    }
}
1 resposta

Oi, Lucas, como vai?

O código está correto e cumpre bem o proposto. O uso de LocalDate com DateTimeFormatter é a abordagem adequada para esse tipo de verificação, e a lógica com isBefore, isAfter e o bloco else para o dia atual está bem aplicada.

Uma dica interessante seria armazenar LocalDate.now() em uma variável antes dos condicionais, evitando chamadas repetidas ao método durante a execução. Isso torna o código mais limpo e garante que a data de referência seja consistente ao longo de toda a comparação.

Parabéns pela resolução, Lucas. O fórum está à disposição sempre que precisar.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!