Olá Pedro!
Parece que você está no caminho certo para calcular o tempo de entrega e verificar se a compra está dentro do prazo ou não. Vou te dar algumas dicas para melhorar o código e garantir que ele funcione como esperado.
Método main: O método main precisa ser declarado como public static void main(String[] args) para que o programa possa ser executado corretamente. Isso é um padrão em Java para o método principal.
Comparação de datas: O seu código está correto ao utilizar LocalDate.now().isAfter(dataEntrega) para verificar se a data atual é posterior à data de entrega. Isso vai te informar se a compra está atrasada.
Saída formatada: Para uma melhor legibilidade, você pode adicionar um espaço após "Data da compra:" e "Previsao de entrega:".
Aqui está uma versão ajustada do seu código:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Principal {
public static void main(String[] args) {
LocalDate dataCompra = LocalDate.now();
int prazoDias = 15;
LocalDate dataEntrega = dataCompra.plusDays(prazoDias);
DateTimeFormatter formatoData = DateTimeFormatter.ofPattern("dd-MM-yyyy");
String dataFormatada = dataEntrega.format(formatoData);
if (LocalDate.now().isAfter(dataEntrega)) {
System.out.println("Sua compra está atrasada.");
} else {
System.out.println("Sua compra está dentro do prazo.");
System.out.println("Data da compra: " + dataCompra.format(formatoData));
System.out.println("Previsao de entrega: " + dataFormatada);
}
}
}
Espero que essas dicas te ajudem a ajustar o seu código! Bons estudos!