1
resposta

Exercício 04

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

public class Exercicios {
    public static void main(String[] args) {
        LocalDate inicio = LocalDate.of(2026,05,22);
        LocalDate prazo = inicio.plusDays(15);
        DateTimeFormatter formato = DateTimeFormatter.ofPattern("dd-MM-yyyy");

        System.out.println("Data de entrega: " + prazo.format(formato));
    }
}
1 resposta

Olá, Bernardo. Como vai?

Parabéns por mais uma excelente resolução! O seu código para o Exercício 4 está totalmente correto, muito bem estruturado e focado no objetivo do desafio.

A utilização da classe LocalDate combinada com o método .plusDays(15) é a abordagem perfeita para calcular prazos de entrega logísticos ou comerciais, onde apenas o dia, mês e ano importam (sem necessidade de monitorar frações de segundos ou fusos horários).

Um detalhe muito legal sobre o seu teste!

Uma coincidência fantástica no seu código é que você configurou a variável inicio com a data exata de hoje: 22/05/2026!

LocalDate inicio = LocalDate.of(2026, 05, 22);

Como o Java calculou o prazo somando 15 dias, o resultado impresso na sua tela será exatamente o dia 06/06/2026.

Note que, se fizéssemos essa conta de cabeça somando puramente os números ($22 + 15 = 37$), passaríamos do limite de dias do mês. O grande trunfo de usar a API java.time é que o método .plusDays() faz toda a engenharia de calendário nos bastidores: ele sabe que o mês de maio tem exatamente 31 dias, calcula quantos dias restam para encerrar o mês atual e vira o contador para o mês de junho de forma 100% automática.

Uma dica de ouro: Tornando o início dinâmico

Como o seu objetivo foi testar a regra com a data atual, o Java possui um método nativo excelente para capturar o dia de hoje automaticamente do sistema operacional, sem que você precise digitar o ano, mês e dia manualmente no código (hardcoding).

Para deixar o seu simulador de entregas dinâmico (onde cada dia que você rodar o programa, ele calculará 15 dias para o futuro a partir daquele dia real), você pode substituir o método .of() por .now().

Veja como o seu script ganha ainda mais flexibilidade e adota o padrão brasileiro de barras (/):

// Captura automaticamente a data do dia em que o programa for executado
LocalDate inicio = LocalDate.now();
LocalDate prazo = inicio.plusDays(15);

// Mantendo o padrão de formatação visual com barras utilizado no Brasil
DateTimeFormatter formato = DateTimeFormatter.ofPattern("dd/MM/yyyy");

System.out.println("Data de postagem (hoje): " + inicio.format(formato));
System.out.println("Data prevista de entrega: " + prazo.format(formato));

Você está construindo uma base sólida de conhecimento nessa API de datas e dominando os principais métodos de manipulação. Continue com essa constância incrível nos estudos!

Espero que possa ter lhe ajudado!