1
resposta

Calculo de tempo de entrega com condicional

//Coloquei um if para dizer se a compra está dentro do prazo ou não

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

public class Principal {
static void main() {
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.\nData da compra:" + dataCompra +
            "\nPrevisao de entrega:" + dataFormatada);
}

}

1 resposta

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.

  1. 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.

  2. 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.

  3. 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!