1
resposta

[Projeto] Desafio resolvido

package desafio.construtores;

public class Produto {
    private String nome;
    private double preco;
    private int quantidade;

    public Produto(String nome, double preco, int quantidade) {
        this.nome = nome;
        this.preco = preco;
        this.quantidade = quantidade;
    }

    public String getNome() {
        return nome;
    }

    public double getPreco() {
        return preco;
    }

    public int getQuantidade() {
        return quantidade;
    }

    @Override
    public String toString() {
        return """
                Produto: %s | Preço: %.2f | Quantidade: %d | Total: %.2f""".formatted(nome, preco, quantidade, (preco * quantidade));
    }
}
package desafio.construtores;

import java.time.LocalDateTime;

public class ProdutoPerecivel extends Produto {
    LocalDateTime dataCadastro;
    LocalDateTime dataValidade;

    public ProdutoPerecivel(String nome, double preco, int quantidade) {
        super(nome, preco, quantidade);
        this.dataCadastro = LocalDateTime.now();
        this.dataValidade = dataCadastro.minusMonths(3) ;
    }

    public LocalDateTime getDataCadastro() {
        return dataCadastro;
    }

    public LocalDateTime getDataValidade() {
        return dataValidade;
    }

    public boolean estaVencido(){
        return dataCadastro.isBefore(dataValidade);
    }

    @Override
    public String toString() {
        return """
                Produto Perecivel: %s | Preço: %.2f | Quantidade: %d | Total: %.2f | Vencimento: %s"""
                .formatted(super.getNome(), super.getPreco(), super.getQuantidade(), (super.getPreco() * super.getQuantidade()),
                        (estaVencido() ? "Sim" : "Não"));
    }
}
package desafio.construtores;

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<Produto> produtos = new ArrayList<>();

        Produto p1 = new Produto("Iphone 15", 2999.90, 10);
        Produto p2 = new Produto("Iphone 16", 4999.90, 10);
        Produto p3 = new Produto("Iphone 17", 7999.90, 10);

        produtos.add(p1);
        produtos.add(p2);
        produtos.add(p3);

        System.out.println("Tamanho da Lista de Produtos: " + produtos.size());
        System.out.println("Produto: " + produtos.get(2).getNome());

        System.out.println("Imprimindo a Lista de Produtos:");
        for (Produto produto : produtos) {
            System.out.println(produto);
        }

        ProdutoPerecivel perecivel = new ProdutoPerecivel("Leite", 18.59, 10);
        System.out.println("Imprimindo Produto Precevivel: ");
        System.out.println(perecivel);

    }
}

Resultado Esperado:

Tamanho da Lista de Produtos: 3
Produto: Iphone 17
Imprimindo a Lista de Produtos:
Produto: Iphone 15 | Preço: 2999,90 | Quantidade: 10 | Total: 29999,00
Produto: Iphone 16 | Preço: 4999,90 | Quantidade: 10 | Total: 49999,00
Produto: Iphone 17 | Preço: 7999,90 | Quantidade: 10 | Total: 79999,00
Imprimindo Produto Precevivel: 
Produto Perecivel: Leite | Preço: 18,59 | Quantidade: 10 | Total: 185,90 | Vencimento: Não
1 resposta

Boa tarde pessoal
Ainda aguardando avaliação, está sendo bastante importante a analises dos senhores(as).

Obrigado!