Olá!
Segue minha resolução:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;
public class LembretePagamento {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("Insira a data de vecimento do boleto: ");
DateTimeFormatter dataFormatada = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate dataVencimento = LocalDate.parse(sc.next(), dataFormatada);
System.out.println("Insira com quantos dias de antecedência você quer ser lembrado: ");
int diasLembrete = sc.nextInt();
LocalDate dataLembrete = dataVencimento.minusDays(diasLembrete);
while (dataLembrete.isEqual(dataVencimento)){
System.out.println("A data do lembrete deve ser diferente da data de vencimento do boleto!\nFavor inserir novamente!");
diasLembrete = sc.nextInt();
}
System.out.println("Data do lembrete: " + dataLembrete.format(dataFormatada));
sc.close();
}
}
Saídas:
Insira a data de vecimento do boleto:
20/03/2026
Insira com quantos dias de antecedência você quer ser lembrado:
0
A data do lembrete deve ser diferente da data de vencimento do boleto!
Favor inserir novamente!
20/03/2025
Insira com quantos dias de antecedência você quer ser lembrado:
5
Data do lembrete: 15/03/2025