Olá, Pablo! Como vai?
Parabéns pela resolução da atividade!
Vi que você explorou o LocalDate para manipulação de datas em Java, utilizou muito bem o método plusMonths() para ajustar o vencimento e ainda compreendeu a importância do DateTimeFormatter para exibir a data em um formato amigável.
Uma dica interessante para o futuro é permitir que o número de meses seja informado pelo usuário, tornando o programa mais flexível. Assim:
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);
LocalDate dataVencimentoOriginal = LocalDate.of(2025, 3, 20);
System.out.print("Digite quantos meses deseja adicionar: ");
int numeroMeses = scanner.nextInt();
LocalDate dataVencimentoAjustada = dataVencimentoOriginal.plusMonths(numeroMeses);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
System.out.println("Nova data de vencimento: " + dataVencimentoAjustada.format(formatter));
scanner.close();
}
}
Isso faz com que o usuário possa personalizar o cálculo de acordo com sua necessidade.
Se quiser aprofundar ainda mais, algumas boas práticas são:
- Tratar entradas inválidas: garantir que o usuário digite apenas números positivos.
- Usar
Period: para manipular intervalos de tempo mais complexos (anos, meses e dias). - Internacionalizar formatos: adaptar o
DateTimeFormatter para diferentes regiões e idiomas.
Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.
Ah, uma pergunta: o que você acha mais interessante evoluir neste código, permitir que o usuário informe tanto meses quanto dias para ajustar a data ou manter apenas a lógica de meses para simplificar?
Abraço e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!